Miggo Logo

CVE-2024-8373:
AngularJS allows attackers to bypass common image source restrictions

4.8

CVSS Score
3.1

Basic Information

EPSS Score
0.11476%
Published
9/9/2024
Updated
11/22/2024
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
angularnpm<= 1.8.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from AngularJS's failure to apply image source sanitization to the [srcset] attribute in <source> elements when set via ngAttrSrcset or interpolation. The $compile service (responsible for DOM manipulation) and interpolation logic (handling dynamic values) are implicated because they process these attributes without invoking the sanitization routines that normally enforce imgSrcSanitizationTrustedUrlList restrictions. This matches the CWE-791 pattern of incomplete filtering, as AngularJS's security controls are partially implemented for this attribute. Confidence is high for the $compile service's role given explicit documentation of ngAttrSrcset bypasses, and medium for interpolation logic due to indirect evidence in reproduction examples.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

Improp*r s*nitiz*tion o* t** v*lu* o* t** `[sr*s*t]` *ttri*ut* in `<sour**>` *TML *l*m*nts in *n*ul*rJS *llows *tt**k*rs to *yp*ss *ommon im*** sour** r*stri*tions, w*i** **n *lso l*** to * *orm o* *ont*nt Spoo*in* *ttps://ow*sp.or*/www-*ommunity/*t

Reasoning

T** vuln*r**ility st*ms *rom *n*ul*rJS's **ilur* to *pply im*** sour** s*nitiz*tion to t** [sr*s*t] *ttri*ut* in <sour**> *l*m*nts w**n s*t vi* `n**ttrSr*s*t` or int*rpol*tion. T** `$*ompil*` s*rvi** (r*sponsi*l* *or *OM m*nipul*tion) *n* int*rpol*ti