Every CVE Search/ Get API key

CVE-2024-8373

AngularJS improper sanitization in '<source>' element

4.8 MediumFix available

Improper sanitization of the value of the [srcset] attribute in <source> HTML elements in AngularJS allows attackers to bypass common image source restrictions, which can also lead to a form of Content Spoofing https://owasp.org/www-community/attacks/Content_Spoofing .

This issue affects all versions of AngularJS.

Note: The AngularJS project is End-of-Life and will not receive any updates to address this issue. For more information see here https://docs.angularjs.org/misc/version-support-status .

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
Low
Availability
Low

Exploit likelihood

0.64%Up 0.6 points since Sep 10, 2024
90%50%10%1%

What each source reports

CVE List Score used 4.8

AngularJS improper sanitization in '<source>' element

Improper sanitization of the value of the [srcset] attribute in <source> HTML elements in AngularJS allows attackers to bypass common image source restrictions, which can also lead to a form of Content Spoofing https://owasp.org/www-community/attacks/Content_Spoofing .

This issue affects all versions of AngularJS.

Note: The AngularJS project is End-of-Life and will not receive any updates to address this issue. For more information see here https://docs.angularjs.org/misc/version-support-status .

Record
CVE-2024-8373
CVSS 3.1
4.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
Weakness
CWE-791
Updated
2026-11-02
EUVDEUVD-2024-2837 4.8

Improper sanitization of the value of the [srcset] attribute in <source> HTML elements in AngularJS allows attackers to bypass common image source restrictions, which can also lead to a form of Content Spoofing https://owasp.org/www-community/attacks/Content_Spoofing .

This issue affects all versions of AngularJS.

Note: The AngularJS project is End-of-Life and will not receive any updates to address this issue. For more information see here https://docs.angularjs.org/misc/version-support-status .

Record
EUVD-2024-2837
CVSS 3.1
4.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-5cp4-xmrw-59wf 5.0

XSS via JQLite DOM manipulation functions in AngularJS

Summary

XSS may be triggered in AngularJS applications that sanitize user-controlled HTML snippets before passing them to JQLite methods like JQLite.prepend, JQLite.after, JQLite.append, JQLite.replaceWith, JQLite.append, new JQLite and angular.element.

Description

JQLite (DOM manipulation library that's part of AngularJS) manipulates input HTML before inserting it to the DOM in jqLiteBuildFragment.

One of the modifications performed expands an XHTML self-closing tag.

If jqLiteBuildFragment is called (e.g. via new JQLite(aString)) with user-controlled HTML string that was sanitized (e.g. with DOMPurify), the transformation done by JQLite may modify some forms of an inert, sanitized payload into a payload containing JavaScript - and trigger an XSS when the payload is inserted into DOM.

This is similar to a bug in jQuery htmlPrefilter function that was fixed in 3.5.0.

Proof of concept

const inertPayload = `<div><style><style/><img src=x onerror="alert(1337)"/>` 

Note that the style element is not closed and <img would be a text node inside the style if inserted into the DOM as-is. As such, some HTML sanitizers would leave the <img as is without processing it and stripping the onerror attribute.

angular.element(document).append(inertPayload);

This will alert, as <style/> will be replaced with <style></style> before adding it to the DOM, closing the style element early and reactivating img.

Patches

The issue is patched in JQLite bundled with angular 1.8.0. AngularJS users using JQuery should upgrade JQuery to 3.5.0, as a similar vulnerability affects jQuery <3.5.0.

Workarounds

Changing sanitizer configuration not to allow certain tag grouping (e.g. <option><style></option>) or inline style elements may stop certain exploitation vectors, but it's uncertain if all possible exploitation vectors would be covered. Upgrade of AngularJS to 1.8.0 is recommended.

References

https://github.com/advisories/GHSA-mhp6-pxh8-r675 https://github.com/jquery/jquery/security/advisories/GHSA-gxr4-xjj5-5px2 https://github.com/jquery/jquery/security/advisories/GHSA-jpcq-cgw6-v4j6 https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/ https://snyk.io/vuln/SNYK-JS-ANGULAR-570058

Record
GHSA-5cp4-xmrw-59wf
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Weakness
CWE-79
Updated
2026-11-02
GitHub AdvisoriesGHSA-mqm9-c95h-x2p6 2.9

AngularJS allows attackers to bypass common image source restrictions

Improper sanitization of the value of the [srcset] attribute in <source> HTML elements in AngularJS allows attackers to bypass common image source restrictions, which can also lead to a form of Content Spoofing https://owasp.org/www-community/attacks/Content_Spoofing .

This issue affects all versions of AngularJS.

Note: The AngularJS project is End-of-Life and will not receive any updates to address this issue. For more information see here https://docs.angularjs.org/misc/version-support-status .

Record
GHSA-mqm9-c95h-x2p6
CVSS 4.0
2.9 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
CVSS 3.1
4.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
Weakness
CWE-791
Updated
2026-11-02
GitHub AdvisoriesGHSA-28hp-fgcr-2r4h No score

Cross-Site Scripting via JSONP

JSONP allows untrusted resource URLs, which provides a vector for attack by malicious actors.

Record
GHSA-28hp-fgcr-2r4h
Weakness
CWE-79
Updated
2026-11-02
NVD 4.8

Improper sanitization of the value of the [srcset] attribute in <source> HTML elements in AngularJS allows attackers to bypass common image source restrictions, which can also lead to a form of Content Spoofing https://owasp.org/www-community/attacks/Content_Spoofing .

This issue affects all versions of AngularJS.

Note: The AngularJS project is End-of-Life and will not receive any updates to address this issue. For more information see here https://docs.angularjs.org/misc/version-support-status .

Record
CVE-2024-8373
CVSS 3.1
4.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
Weakness
CWE-791
Updated
2026-11-02
Show 19 moreShow less
OSV 4.8

AngularJS improper sanitization in '<source>' element

Improper sanitization of the value of the [srcset] attribute in <source> HTML elements in AngularJS allows attackers to bypass common image source restrictions, which can also lead to a form of Content Spoofing https://owasp.org/www-community/attacks/Content_Spoofing .

This issue affects all versions of AngularJS.

Note: The AngularJS project is End-of-Life and will not receive any updates to address this issue. For more information see here https://docs.angularjs.org/misc/version-support-status .

Record
CVE-2024-8373
CVSS 3.1
4.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
Weakness
CWE-791
Updated
2026-11-02
OSVDEBIAN-CVE-2024-8373 4.3

Improper sanitization of the value of the [srcset] attribute in <source> HTML elements in AngularJS allows attackers to bypass common image source restrictions, which can also lead to a form of Content Spoofing https://owasp.org/www-community/attacks/Content_Spoofing . This issue affects all versions of AngularJS. Note: The AngularJS project is End-of-Life and will not receive any updates to address this issue. For more information see here https://docs.angularjs.org/misc/version-support-status .

Record
DEBIAN-CVE-2024-8373
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
Updated
2026-11-02
OSVGHSA-5cp4-xmrw-59wf 5.0

XSS via JQLite DOM manipulation functions in AngularJS

Summary

XSS may be triggered in AngularJS applications that sanitize user-controlled HTML snippets before passing them to JQLite methods like JQLite.prepend, JQLite.after, JQLite.append, JQLite.replaceWith, JQLite.append, new JQLite and angular.element.

Description

JQLite (DOM manipulation library that's part of AngularJS) manipulates input HTML before inserting it to the DOM in jqLiteBuildFragment.

One of the modifications performed expands an XHTML self-closing tag.

If jqLiteBuildFragment is called (e.g. via new JQLite(aString)) with user-controlled HTML string that was sanitized (e.g. with DOMPurify), the transformation done by JQLite may modify some forms of an inert, sanitized payload into a payload containing JavaScript - and trigger an XSS when the payload is inserted into DOM.

This is similar to a bug in jQuery htmlPrefilter function that was fixed in 3.5.0.

Proof of concept

const inertPayload = `<div><style><style/><img src=x onerror="alert(1337)"/>` 

Note that the style element is not closed and <img would be a text node inside the style if inserted into the DOM as-is. As such, some HTML sanitizers would leave the <img as is without processing it and stripping the onerror attribute.

angular.element(document).append(inertPayload);

This will alert, as <style/> will be replaced with <style></style> before adding it to the DOM, closing the style element early and reactivating img.

Patches

The issue is patched in JQLite bundled with angular 1.8.0. AngularJS users using JQuery should upgrade JQuery to 3.5.0, as a similar vulnerability affects jQuery <3.5.0.

Workarounds

Changing sanitizer configuration not to allow certain tag grouping (e.g. <option><style></option>) or inline style elements may stop certain exploitation vectors, but it's uncertain if all possible exploitation vectors would be covered. Upgrade of AngularJS to 1.8.0 is recommended.

References

https://github.com/advisories/GHSA-mhp6-pxh8-r675 https://github.com/jquery/jquery/security/advisories/GHSA-gxr4-xjj5-5px2 https://github.com/jquery/jquery/security/advisories/GHSA-jpcq-cgw6-v4j6 https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/ https://snyk.io/vuln/SNYK-JS-ANGULAR-570058

Record
GHSA-5cp4-xmrw-59wf
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-mqm9-c95h-x2p6 2.9

AngularJS allows attackers to bypass common image source restrictions

Improper sanitization of the value of the [srcset] attribute in <source> HTML elements in AngularJS allows attackers to bypass common image source restrictions, which can also lead to a form of Content Spoofing https://owasp.org/www-community/attacks/Content_Spoofing .

This issue affects all versions of AngularJS.

Note: The AngularJS project is End-of-Life and will not receive any updates to address this issue. For more information see here https://docs.angularjs.org/misc/version-support-status .

Record
GHSA-mqm9-c95h-x2p6
CVSS 4.0
2.9 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
CVSS 3.1
4.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
Weakness
CWE-791
Updated
2026-11-02
OSVUBUNTU-CVE-2024-8373 4.8

Improper sanitization of the value of the [srcset] attribute in <source> HTML elements in AngularJS allows attackers to bypass common image source restrictions, which can also lead to a form of Content Spoofing https://owasp.org/www-community/attacks/Content_Spoofing . This issue affects all versions of AngularJS. Note: The AngularJS project is End-of-Life and will not receive any updates to address this issue. For more information see here https://docs.angularjs.org/misc/version-support-status .

Record
UBUNTU-CVE-2024-8373
CVSS 3.1
4.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
Updated
2026-11-02
OSVCLSA-2026-1773706637 No score

TuxCare security update for angular (11 CVEs)

TuxCare rebuilt angular to address 11 CVEs. Fixed in 1.8.2-tuxcare.1.

Record
CLSA-2026-1773706637
Updated
2026-11-02
OSVCLSA-2026-1773879502 No score

TuxCare security update for angular (13 CVEs)

TuxCare rebuilt angular to address 13 CVEs. Fixed in 1.4.4-tuxcare.1.

Record
CLSA-2026-1773879502
Updated
2026-11-02
OSVCLSA-2026-1773965928 No score

TuxCare security update for angular (3 CVEs)

TuxCare rebuilt angular to address 3 CVEs. Fixed in 1.8.3-tuxcare.2.

Record
CLSA-2026-1773965928
Updated
2026-11-02
OSVCLSA-2026-1774052344 No score

TuxCare security update for angular (3 CVEs)

TuxCare rebuilt angular to address 3 CVEs. Fixed in 1.7.9-tuxcare.2.

Record
CLSA-2026-1774052344
Updated
2026-11-02
OSVCLSA-2026-1774052347 No score

TuxCare security update for angular (3 CVEs)

TuxCare rebuilt angular to address 3 CVEs. Fixed in 1.6.10-tuxcare.2.

Record
CLSA-2026-1774052347
Updated
2026-11-02
OSVCLSA-2026-1774052358 No score

TuxCare security update for angular (3 CVEs)

TuxCare rebuilt angular to address 3 CVEs. Fixed in 1.5.11-tuxcare.2.

Record
CLSA-2026-1774052358
Updated
2026-11-02
OSVCLSA-2026-1781657707 No score

TuxCare security update for angular (1 CVE)

TuxCare rebuilt angular to address 1 CVE. Fixed in 1.7.9-tuxcare.8.

Record
CLSA-2026-1781657707
Updated
2026-11-02
OSVCLSA-2026-1781657708 No score

TuxCare security update for angular (1 CVE)

TuxCare rebuilt angular to address 1 CVE. Fixed in 1.6.10-tuxcare.8.

Record
CLSA-2026-1781657708
Updated
2026-11-02
OSVCLSA-2026-1781657709 No score

TuxCare security update for angular (2 CVEs)

TuxCare rebuilt angular to address 2 CVEs. Fixed in 1.5.11-tuxcare.8.

Record
CLSA-2026-1781657709
Updated
2026-11-02
OSVCLSA-2026-1787822123 No score

TuxCare security update for angular (14 CVEs)

TuxCare rebuilt angular to address 14 CVEs. Fixed in 1.4.7-tuxcare.1.

Record
CLSA-2026-1787822123
Updated
2026-11-02
OSVGHSA-28hp-fgcr-2r4h No score

Cross-Site Scripting via JSONP

JSONP allows untrusted resource URLs, which provides a vector for attack by malicious actors.

Record
GHSA-28hp-fgcr-2r4h
Weakness
CWE-79
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2024-8373 No score

CVE-2024-8373 in angular - Patched by Root

Root has patched CVE-2024-8373 in the angular package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2024-8373
Updated
2026-11-02
OSVROOT-APP-NPM-GHSA-28hp-fgcr-2r4h No score

GHSA-28hp-fgcr-2r4h in angular - Patched by Root

Root has patched GHSA-28hp-fgcr-2r4h in the angular package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-GHSA-28hp-fgcr-2r4h
Updated
2026-11-02
OSVROOT-APP-NPM-GHSA-5cp4-xmrw-59wf No score

GHSA-5cp4-xmrw-59wf in angular - Patched by Root

Root has patched GHSA-5cp4-xmrw-59wf in the angular package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-GHSA-5cp4-xmrw-59wf
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
angular
npm
before 1.6.0
1.6.0
angular
npm
before 1.8.0
1.8.0
angular
npm
through 1.8.3 None known
angular
TuxCare:npm
From an advisory covering 11 CVEs
1.8.2-tuxcare.0 up to 1.8.2-tuxcare.1, plus listed versions
1.8.2
1.8.2-tuxcare.1
angular
TuxCare:npm
From an advisory covering 11 CVEs
1.4.4-tuxcare.0 up to 1.4.4-tuxcare.1, plus listed versions
1.4.4
1.4.4-tuxcare.1
angular
TuxCare:npm
From an advisory covering 3 CVEs
1.8.3-tuxcare.0 up to 1.8.3-tuxcare.2, plus listed versions
1.8.31.8.3-tuxcare.1
1.8.3-tuxcare.2
angular
TuxCare:npm
From an advisory covering 3 CVEs
1.7.9-tuxcare.0 up to 1.7.9-tuxcare.2, plus listed versions
1.7.91.7.9-tuxcare.1
1.7.9-tuxcare.2
angular
TuxCare:npm
From an advisory covering 3 CVEs
1.6.10-tuxcare.0 up to 1.6.10-tuxcare.2, plus listed versions
1.6.101.6.10-tuxcare.1
1.6.10-tuxcare.2
angular
TuxCare:npm
From an advisory covering 3 CVEs
1.5.11-tuxcare.0 up to 1.5.11-tuxcare.2, plus listed versions
1.5.111.5.11-tuxcare.1
1.5.11-tuxcare.2
angular
TuxCare:npm
1.7.9-tuxcare.0 up to 1.7.9-tuxcare.8, plus listed versions
1.7.91.7.9-tuxcare.11.7.9-tuxcare.21.7.9-tuxcare.31.7.9-tuxcare.41.7.9-tuxcare.51.7.9-tuxcare.61.7.9-tuxcare.7
1.7.9-tuxcare.8
Show 14 moreShow less
Affected packages
PackageAffectedFixed
angular
TuxCare:npm
1.6.10-tuxcare.0 up to 1.6.10-tuxcare.8, plus listed versions
1.6.101.6.10-tuxcare.11.6.10-tuxcare.21.6.10-tuxcare.31.6.10-tuxcare.41.6.10-tuxcare.51.6.10-tuxcare.61.6.10-tuxcare.7
1.6.10-tuxcare.8
angular
TuxCare:npm
1.5.11-tuxcare.0 up to 1.5.11-tuxcare.8, plus listed versions
1.5.111.5.11-tuxcare.11.5.11-tuxcare.21.5.11-tuxcare.31.5.11-tuxcare.41.5.11-tuxcare.51.5.11-tuxcare.61.5.11-tuxcare.7
1.5.11-tuxcare.8
angular
TuxCare:npm
From an advisory covering 12 CVEs
1.4.7-tuxcare.0 up to 1.4.7-tuxcare.1, plus listed versions
1.4.7
1.4.7-tuxcare.1
angular.js
Debian:12
before 1.8.3-1+deb12u1, plus listed versions
1.8.3-11.8.3-1+deb12u1~deb11u1
1.8.3-1+deb12u1
angular.js
Debian:13
before 1.8.3-2
1.8.3-2
angular.js
Debian:11
From an advisory covering 9 CVEs
before 1.8.3-1+deb12u1~deb11u1, plus listed versions
1.8.2-21.8.3-1
1.8.3-1+deb12u1~deb11u1
angular
Root:npm
before 1.8.3-aikido.3
1.8.3-aikido.31.4.14-aikido.21.8.3-aikido.41.8.3-aikido.51.4.14-aikido.3
@rootio/angular
Root:npm
before 1.8.3-root.io.3
1.8.3-root.io.31.4.14-root.io.21.8.3-root.io.41.8.3-root.io.51.4.14-root.io.3
angular
Root:npm
before 1.4.14-aikido.2
1.4.14-aikido.21.3.0-aikido.21.3.0-aikido.31.4.14-aikido.3
@rootio/angular
Root:npm
before 1.4.14-root.io.2
1.4.14-root.io.21.3.0-root.io.21.3.0-root.io.31.4.14-root.io.3
angular.js
Ubuntu:Pro:18.04:LTS
before 1.5.10-1ubuntu0.1~esm1, plus listed versions
1.5.10-1
1.5.10-1ubuntu0.1~esm1
angular.js
Ubuntu:Pro:20.04:LTS
before 1.7.9-1ubuntu0.1~esm1, plus listed versions
1.5.10-11.7.9-1
1.7.9-1ubuntu0.1~esm1
angular.js
Ubuntu:22.04:LTS
before 1.8.2-2ubuntu0.1, plus listed versions
1.8.2-2
1.8.2-2ubuntu0.1
angular.js
Ubuntu:24.04:LTS
before 1.8.3-1ubuntu0.24.04.1, plus listed versions
1.8.3-1
1.8.3-1ubuntu0.24.04.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-8373 is a medium vulnerability (CVSS 4.8) in Angularjs, published June 27, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.64%, the 50th percentile. Fixed in angular 1.6.0.

References

Show 17 moreShow less
MoveEnter Open