Miggo Logo

CVE-2025-31116: Mobile Security Framework (MobSF) has a SSRF Vulnerability fix bypass on assetlinks_check with DNS Rebinding

4.4

CVSS Score
3.1

Basic Information

EPSS Score
0.23977%
Published
3/31/2025
Updated
3/31/2025
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
mobsfpip< 4.3.24.3.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from the original valid_host implementation in utils.py that used synchronous DNS resolution with gethostbyname(). The security patch moves this function to security.py with improved checks using getaddrinfo and ipaddress validation. The removed code in utils.py shows the vulnerable pattern of single DNS resolution followed by static blocklist checks, which is exploitable through DNS rebinding as demonstrated in the PoC. Runtime detection would see calls to the original utils.valid_host function during SSRF attempts.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Summ*ry T** l*t*st **ploy** *ix *or t** SSR* vuln*r**ility is t*rou** t** us* o* t** **ll `v*li*_*ost()`. T** *o** *v*il**l* *t lin*s [/****************************************/mo*s*/Mo*S*/utils.py#L***-L***](*ttps://*it*u*.*om/Mo*S*/Mo*il*-S**u

Reasoning

T** vuln*r**ility st*ms *rom t** ori*in*l v*li*_*ost impl*m*nt*tion in utils.py t**t us** syn**ronous *NS r*solution wit* **t*ost*yn*m*(). T** s**urity p*t** mov*s t*is *un*tion to s**urity.py wit* improv** ****ks usin* **t***rin*o *n* ip***r*ss v*li