Skip to main content

MobSF CVE-2026-68927

| EUVDEUVD-2026-61133 LOW
Server-Side Request Forgery (SSRF) (CWE-918)
2026-08-18 GitHub_M GHSA-95px-34x5-p37h
3.0
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain high-privilege MobSF authenticated session
  2. Delivery
    Craft APK with App Link manifest embedding attacker domain and target internal port
  3. Exploit
    Upload APK to trigger Android manifest static analysis
  4. Install
    valid_host() validates host against public IP (DNS resolves legitimately)
  5. C2
    DNS rebinding swaps resolution to internal IP before requests.get() fires
  6. Execute
    MobSF server makes outbound request to internal service on restricted port
  7. Impact
    Internal service response processed by MobSF, exposing internal behavior

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a high-privilege authenticated MobSF account with APK upload and analysis permissions - CVSS PR:H confirms this; unauthenticated exploitation is not possible. The attacker must control a domain's authoritative DNS server and be able to configure a very low TTL, enabling DNS rebinding between the valid_host() lookup and the subsequent requests.get() call; without attacker-controlled DNS infrastructure, the SSRF is constrained to public IPs and provides no internal access. The Android manifest must include a browsable App Link <data> element with android:host and android:port as separate attributes - this is a standard manifest construct but requires a crafted or malicious APK. The following factors limit exploitation scope: (1) the request path is fixed to /.well-known/assetlinks.json - arbitrary endpoint targeting is not possible; (2) HTTP redirects are disabled (allow_redirects=False), preventing redirect-based path escape; (3) DNS rebinding adds meaningful operational complexity (AC:H); (4) only the HTTP response is returned to MobSF's analysis logic, not directly to the attacker - data exfiltration depends on how MobSF surfaces or logs that response.

Impact

The CVSS 3.1 score of 3.0 with vector AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:N accurately captures the constrained risk profile. PR:H is the primary limiting factor - exploitation requires a high-privilege authenticated MobSF account, ruling out external unauthenticated attackers entirely. AC:H reflects the DNS rebinding requirement, which demands that the attacker control both a domain's authoritative DNS server and can force TTL expiry between the valid_host() validation call and the subsequent requests.get() connection - a non-trivial operational prerequisite. S:C (Scope Changed) is justified because a successful exploit affects services outside MobSF's own security boundary, such as internal microservices or metadata endpoints. C:L is appropriate because the fixed /.well-known/assetlinks.json path and disabled redirects constrain the attacker to reading a single, specific endpoint on an internal host - precluding arbitrary data exfiltration. EPSS data was not supplied; exploitation probability is unknown. The vulnerability is absent from CISA KEV, and no public exploit code has been identified. Real-world risk is meaningful primarily in multi-user MobSF deployments where insider threat or compromised admin credentials are plausible; single-analyst installations with tightly controlled access are at substantially lower risk.

Exploit ScenarioDerived

An authenticated MobSF administrator crafts an Android APK containing a manifest <data> element with android:host set to an attacker-controlled domain (e.g., evil.example.com) with a very low DNS TTL, and android:port set to an internal service port such as 8080. During manifest analysis, valid_host() resolves evil.example.com to a legitimate public IP and passes validation; the attacker then rebinds the DNS record to an internal address (e.g., 10.0.0.50) before requests.get() is called. MobSF fetches http://10.0.0.50:8080/.well-known/assetlinks.json, and any response from that internal service is processed by MobSF - exposing internal service behavior. No public proof-of-concept exploit code has been identified at time of analysis, though the vendor advisory provides a detailed reproduction recipe.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 18, 2026

SSRF port restriction bypass in MobSF (Mobile Security Framework) prior to 4.5.1 allows authenticated high-privilege users to cause the server to make outbound HTTP requests to attacker-selected non-standard ports by uploading a crafted APK. The get_browsable_activities() function in manifest_analysis.py validates only the android:host attribute via valid_host(), which enforces a 80/443-only port allowlist, but then appends the separately supplied android:port attribute to the assembled URL without re-validating the combined result - enabling port restriction bypass. When combined with DNS rebinding between the validation lookup and the requests.get() connection, the outbound request can reach internal services; however, the path is fixed to /.well-known/assetlinks.json and redirects are disabled. No public exploit has been identified at time of analysis, and the vulnerability is not in CISA KEV.

RemediationAI

Upgrade MobSF to version 4.5.1 or later using pip install --upgrade mobsf. The patch is confirmed in the official release tag v4.5.1 (https://github.com/MobSF/Mobile-Security-Framework-MobSF/releases/tag/v4.5.1), implemented via commit 62563ca429a75b3e5d47a13b958e1d2e7d5e2bbf and PR #2627 (https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/2627). If immediate upgrade is not feasible, restrict MobSF upload and analysis permissions to the smallest possible set of trusted users, since exploitation unconditionally requires a high-privilege authenticated session. As a network-layer compensating control, configure egress firewall rules on the MobSF host to block outbound TCP connections to non-standard ports (i.e., any port other than 80 and 443); this prevents the SSRF from reaching internal services on restricted ports but may interfere with App Link verification for APKs that legitimately use non-standard ports in staging environments. No other workarounds have been confirmed by the vendor.

Affected VersionsENISA

Mobile-Security-Framework-MobSF < 4.5.1

Affected Packages

pypi mobsf fix: 4.5.1
euvd mobile_security_framework_mobsf fix: 4.5.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

MobSF is a Python-based mobile application security testing platform (distributed as the mobsf pip package) that performs static and dynamic analysis of Android, iOS, and Windows apps. The flaw resides in mobsf/StaticAnalyzer/views/android/manifest_analysis.py within get_browsable_activities(), which processes <data> elements from Android App Link intent filters in AndroidManifest.xml. CWE-918 (Server-Side Request Forgery) is the root cause class - specifically a validation/execution mismatch: valid_host() enforces port restrictions only when evaluating the android:host attribute string, which by design never contains a port. The android:port attribute is parsed separately via data.getAttribute(f'{ns}:port') and appended to the URL after validation, bypassing the port allowlist entirely. The downstream _check_url() function validates only path, query parameters, and params fragments before calling requests.get() with allow_redirects=False, meaning the port is never rechecked against the 80/443 allowlist. CPE cpe:2.3:a:mobsf:mobile-security-framework-mobsf:*:*:*:*:*:*:*:* covers all pre-4.5.1 releases.

Know when Mobile Security Framework Mobsf gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 3.0 LOW
AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:N
vuln.today AI 3.0 LOW

DNS rebinding required for SSRF pivot mandates AC:H; upload access to MobSF requires high-privilege authentication (PR:H); fixed path and no redirects limit impact to C:L with scope change (S:C) to internal services.

3.1 AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
High
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Aug 18, 2026 - 19:04 EUVD
CVE Published
Aug 18, 2026 - 17:48 cve.org
LOW 3.0

DescriptionCVE.org

MobSF is a mobile application security testing tool used. Prior to 4.5.1, get_browsable_activities in mobsf/StaticAnalyzer/views/android/manifest_analysis.py validates only an Android manifest android:host value with valid_host before appending a separately supplied android:port to the URL fetched by _check_url, allowing an authenticated user to upload a crafted APK that makes requests to an attacker-selected nonstandard port at /.well-known/assetlinks.json. With an attacker-controlled hostname and DNS rebinding between validation and the requests.get connection, the request can reach an internal service, although redirects remain disabled and the path is fixed. This issue is fixed in version 4.5.1.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Low
niche security research tool, used by mobile AppSec teams
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

15
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +15
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy