CVE-2026-50171 json
Angular: Denial of Service (DoS) via OOM in Number Formatting (digitsInfo)
published 2026-06-15 4 mo ago modified 2026-09-10 1 mo ago also GHSA-p3vc-36g9-x9gr , EUVD-2026-38298
- cvss
- 6.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 17%
- public exploits
- 0
- none known
Summary
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23, a Denial of Service (DoS) vulnerability exists in the @angular/common package of Angular. The formatNumber function, which is also utilized by DecimalPipe, PercentPipe, and CurrencyPipe, does not properly validate the upper bounds of the digitsInfo parameter. Specifically, the minimum and maximum fraction digits parsed from the digitsInfo string (e.g., 1.2-4) are converted to integers and used without limits. When parsing a maliciously crafted digitsInfo string with excessively large fraction digit values (e.g., 1.200000000-200000000), the internal roundNumber function attempts to pad the digits array to match the requested fraction size. This results in an unbounded loop that repeatedly pushes elements into an array. This vulnerability is fixed in 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23.
Patch / fix
- npm @angular/common 19.2.23, 20.3.22, 21.2.15, 22.0.0-rc.2
- angular angular 19.2.23, 20.3.22, 21.2.15
- github.com/angular/angular#68840 pull request
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-50171 updated cvss 5.9
@angular/common: Angular @angular/common: Denial of Service via malformed digitsInfo parameter
-
Red Hat Fuse 7 commonaffected: workaround, no fix available “Fix deferred”
-
Red Hat Advanced Cluster Management for Kubernetes 2 rhacm2/volsync-rhel9, rhacm2/volsync-operator-bundle Red Hat build of Apicurio Registry 3 apicurio/apicurio-registry-ui-rhel8, apicurio/apicurio-registry-ui-rhel9 Red Hat Ceph Storage 4 ceph, librbd1, librgw2, rbd-nbd, ceph-mds, ceph-mgr, +27 more Red Hat Enterprise Linux 7 firefox Red Hat Enterprise Linux 8 firefox, mozjs60, thunderbird, intel-cmt-cat, dotnet5.0-build-reference-packages Red Hat Enterprise Linux 9 gjs, firefox, librbd1, librados2, firefox-x11, thunderbird, +1 morenot affected: vulnerable code not present
+1 more productsfewer
Red Hat Enterprise Linux 10 gjs, ceph, firefox, thunderbird, intel-cmt-cat
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
0.26% chance of exploitation in the next 30 days, higher than 17% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.2 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
| CNA | 4.0 | 8.2 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| GitHub | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @angular/common | >=22.0.0-next.0, <22.0.0-rc.2 >=20.0.0-next.0, <20.3.22 >=19.0.0-next.0, <19.2.23 <=18.2.14 >=21.0.0-next.0, <21.2.15 |
22.0.0-rc.2 20.3.22 19.2.23 21.2.15 |
Affected products
- angular angular
Classification
References
-
github.com
/angular/angular/pull/68840
web
-
github.com
/angular/angular/security/advisories/GHSA-p3vc-36g9-x9gr
web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-50171
advisory
-
github.com
/angular/angular
package
Sources
- CVE List CVE-2026-50171
- GitHub Advisory GHSA-p3vc-36g9-x9gr
- NVD CVE-2026-50171
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.