Vulnerability Details CVE-2026-50171
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.002
EPSS Ranking 5.6%
CVSS Severity
CVSS v3 Score 6.1
Products affected by CVE-2026-50171
-
cpe:2.3:a:angularjs:angularjs:-
-
cpe:2.3:a:angularjs:angularjs:0.10.0
-
cpe:2.3:a:angularjs:angularjs:0.10.1
-
cpe:2.3:a:angularjs:angularjs:0.10.2
-
cpe:2.3:a:angularjs:angularjs:0.10.3
-
cpe:2.3:a:angularjs:angularjs:0.10.4
-
cpe:2.3:a:angularjs:angularjs:0.10.5
-
cpe:2.3:a:angularjs:angularjs:0.10.6
-
cpe:2.3:a:angularjs:angularjs:0.9.0
-
cpe:2.3:a:angularjs:angularjs:0.9.1
-
cpe:2.3:a:angularjs:angularjs:0.9.10
-
cpe:2.3:a:angularjs:angularjs:0.9.11
-
cpe:2.3:a:angularjs:angularjs:0.9.12
-
cpe:2.3:a:angularjs:angularjs:0.9.13
-
cpe:2.3:a:angularjs:angularjs:0.9.14
-
cpe:2.3:a:angularjs:angularjs:0.9.15
-
cpe:2.3:a:angularjs:angularjs:0.9.16
-
cpe:2.3:a:angularjs:angularjs:0.9.17
-
cpe:2.3:a:angularjs:angularjs:0.9.18
-
cpe:2.3:a:angularjs:angularjs:0.9.19
-
cpe:2.3:a:angularjs:angularjs:0.9.2
-
cpe:2.3:a:angularjs:angularjs:0.9.3
-
cpe:2.3:a:angularjs:angularjs:0.9.4
-
cpe:2.3:a:angularjs:angularjs:0.9.5
-
cpe:2.3:a:angularjs:angularjs:0.9.6
-
cpe:2.3:a:angularjs:angularjs:0.9.7
-
cpe:2.3:a:angularjs:angularjs:0.9.9
-
cpe:2.3:a:angularjs:angularjs:1.0.0
-
cpe:2.3:a:angularjs:angularjs:1.0.1
-
cpe:2.3:a:angularjs:angularjs:1.0.2
-
cpe:2.3:a:angularjs:angularjs:1.0.3
-
cpe:2.3:a:angularjs:angularjs:1.0.4
-
cpe:2.3:a:angularjs:angularjs:1.0.5
-
cpe:2.3:a:angularjs:angularjs:1.0.6
-
cpe:2.3:a:angularjs:angularjs:1.0.7
-
cpe:2.3:a:angularjs:angularjs:1.0.8
-
cpe:2.3:a:angularjs:angularjs:1.1.0
-
cpe:2.3:a:angularjs:angularjs:1.1.1
-
cpe:2.3:a:angularjs:angularjs:1.1.2
-
cpe:2.3:a:angularjs:angularjs:1.1.3
-
cpe:2.3:a:angularjs:angularjs:1.1.4
-
cpe:2.3:a:angularjs:angularjs:1.1.5
-
cpe:2.3:a:angularjs:angularjs:1.2.0
-
cpe:2.3:a:angularjs:angularjs:1.2.1
-
cpe:2.3:a:angularjs:angularjs:1.2.10
-
cpe:2.3:a:angularjs:angularjs:1.2.11
-
cpe:2.3:a:angularjs:angularjs:1.2.12
-
cpe:2.3:a:angularjs:angularjs:1.2.13
-
cpe:2.3:a:angularjs:angularjs:1.2.14
-
cpe:2.3:a:angularjs:angularjs:1.2.15
-
cpe:2.3:a:angularjs:angularjs:1.2.16
-
cpe:2.3:a:angularjs:angularjs:1.2.17
-
cpe:2.3:a:angularjs:angularjs:1.2.18
-
cpe:2.3:a:angularjs:angularjs:1.2.19
-
cpe:2.3:a:angularjs:angularjs:1.2.2
-
cpe:2.3:a:angularjs:angularjs:1.2.20
-
cpe:2.3:a:angularjs:angularjs:1.2.21
-
cpe:2.3:a:angularjs:angularjs:1.2.22
-
cpe:2.3:a:angularjs:angularjs:1.2.23
-
cpe:2.3:a:angularjs:angularjs:1.2.24
-
cpe:2.3:a:angularjs:angularjs:1.2.25
-
cpe:2.3:a:angularjs:angularjs:1.2.26
-
cpe:2.3:a:angularjs:angularjs:1.2.27
-
cpe:2.3:a:angularjs:angularjs:1.2.28
-
cpe:2.3:a:angularjs:angularjs:1.2.29
-
cpe:2.3:a:angularjs:angularjs:1.2.3
-
cpe:2.3:a:angularjs:angularjs:1.2.30
-
cpe:2.3:a:angularjs:angularjs:1.2.31
-
cpe:2.3:a:angularjs:angularjs:1.2.32
-
cpe:2.3:a:angularjs:angularjs:1.2.4
-
cpe:2.3:a:angularjs:angularjs:1.2.5
-
cpe:2.3:a:angularjs:angularjs:1.2.6
-
cpe:2.3:a:angularjs:angularjs:1.2.7
-
cpe:2.3:a:angularjs:angularjs:1.2.8
-
cpe:2.3:a:angularjs:angularjs:1.2.9
-
cpe:2.3:a:angularjs:angularjs:1.3.0
-
cpe:2.3:a:angularjs:angularjs:1.3.1
-
cpe:2.3:a:angularjs:angularjs:1.3.10
-
cpe:2.3:a:angularjs:angularjs:1.3.11
-
cpe:2.3:a:angularjs:angularjs:1.3.12
-
cpe:2.3:a:angularjs:angularjs:1.3.13
-
cpe:2.3:a:angularjs:angularjs:1.3.14
-
cpe:2.3:a:angularjs:angularjs:1.3.15
-
cpe:2.3:a:angularjs:angularjs:1.3.16
-
cpe:2.3:a:angularjs:angularjs:1.3.17
-
cpe:2.3:a:angularjs:angularjs:1.3.18
-
cpe:2.3:a:angularjs:angularjs:1.3.19
-
cpe:2.3:a:angularjs:angularjs:1.3.2
-
cpe:2.3:a:angularjs:angularjs:1.3.20
-
cpe:2.3:a:angularjs:angularjs:1.3.3
-
cpe:2.3:a:angularjs:angularjs:1.3.4
-
cpe:2.3:a:angularjs:angularjs:1.3.5
-
cpe:2.3:a:angularjs:angularjs:1.3.6
-
cpe:2.3:a:angularjs:angularjs:1.3.7
-
cpe:2.3:a:angularjs:angularjs:1.3.8
-
cpe:2.3:a:angularjs:angularjs:1.3.9
-
cpe:2.3:a:angularjs:angularjs:1.4.0
-
cpe:2.3:a:angularjs:angularjs:1.4.1
-
cpe:2.3:a:angularjs:angularjs:1.4.10
-
cpe:2.3:a:angularjs:angularjs:1.4.11
-
cpe:2.3:a:angularjs:angularjs:1.4.12
-
cpe:2.3:a:angularjs:angularjs:1.4.13
-
cpe:2.3:a:angularjs:angularjs:1.4.14
-
cpe:2.3:a:angularjs:angularjs:1.4.2
-
cpe:2.3:a:angularjs:angularjs:1.4.3
-
cpe:2.3:a:angularjs:angularjs:1.4.4
-
cpe:2.3:a:angularjs:angularjs:1.4.5
-
cpe:2.3:a:angularjs:angularjs:1.4.6
-
cpe:2.3:a:angularjs:angularjs:1.4.7
-
cpe:2.3:a:angularjs:angularjs:1.4.8
-
cpe:2.3:a:angularjs:angularjs:1.4.9
-
cpe:2.3:a:angularjs:angularjs:1.5.0
-
cpe:2.3:a:angularjs:angularjs:1.5.1
-
cpe:2.3:a:angularjs:angularjs:1.5.10
-
cpe:2.3:a:angularjs:angularjs:1.5.11
-
cpe:2.3:a:angularjs:angularjs:1.5.2
-
cpe:2.3:a:angularjs:angularjs:1.5.3
-
cpe:2.3:a:angularjs:angularjs:1.5.4
-
cpe:2.3:a:angularjs:angularjs:1.5.5
-
cpe:2.3:a:angularjs:angularjs:1.5.6
-
cpe:2.3:a:angularjs:angularjs:1.5.7
-
cpe:2.3:a:angularjs:angularjs:1.5.8
-
cpe:2.3:a:angularjs:angularjs:1.5.9
-
cpe:2.3:a:angularjs:angularjs:1.6.0
-
cpe:2.3:a:angularjs:angularjs:1.6.1
-
cpe:2.3:a:angularjs:angularjs:1.6.10
-
cpe:2.3:a:angularjs:angularjs:1.6.2
-
cpe:2.3:a:angularjs:angularjs:1.6.3
-
cpe:2.3:a:angularjs:angularjs:1.6.4
-
cpe:2.3:a:angularjs:angularjs:1.6.5
-
cpe:2.3:a:angularjs:angularjs:1.6.6
-
cpe:2.3:a:angularjs:angularjs:1.6.7
-
cpe:2.3:a:angularjs:angularjs:1.6.8
-
cpe:2.3:a:angularjs:angularjs:1.6.9
-
cpe:2.3:a:angularjs:angularjs:1.7.0
-
cpe:2.3:a:angularjs:angularjs:1.7.1
-
cpe:2.3:a:angularjs:angularjs:1.7.2
-
cpe:2.3:a:angularjs:angularjs:1.7.3
-
cpe:2.3:a:angularjs:angularjs:1.7.4
-
cpe:2.3:a:angularjs:angularjs:1.7.5
-
cpe:2.3:a:angularjs:angularjs:1.7.6
-
cpe:2.3:a:angularjs:angularjs:1.7.7
-
cpe:2.3:a:angularjs:angularjs:1.7.8
-
cpe:2.3:a:angularjs:angularjs:1.7.9
-
cpe:2.3:a:angularjs:angularjs:1.8.0
-
cpe:2.3:a:angularjs:angularjs:1.8.1
-
cpe:2.3:a:angularjs:angularjs:1.8.2
-
cpe:2.3:a:angularjs:angularjs:1.8.3
-
cpe:2.3:a:angularjs:angularjs:10.0.0
-
cpe:2.3:a:angularjs:angularjs:10.1.0
-
cpe:2.3:a:angularjs:angularjs:10.2.5
-
cpe:2.3:a:angularjs:angularjs:11.0.0
-
cpe:2.3:a:angularjs:angularjs:11.1.0
-
cpe:2.3:a:angularjs:angularjs:11.2.0
-
cpe:2.3:a:angularjs:angularjs:12.0.0
-
cpe:2.3:a:angularjs:angularjs:12.1.0
-
cpe:2.3:a:angularjs:angularjs:12.2.0
-
cpe:2.3:a:angularjs:angularjs:13.0.0
-
cpe:2.3:a:angularjs:angularjs:13.1.0
-
cpe:2.3:a:angularjs:angularjs:13.2.0
-
cpe:2.3:a:angularjs:angularjs:13.3.0
-
cpe:2.3:a:angularjs:angularjs:14.0.0
-
cpe:2.3:a:angularjs:angularjs:14.1.0
-
cpe:2.3:a:angularjs:angularjs:14.2.0
-
cpe:2.3:a:angularjs:angularjs:15.0.0
-
cpe:2.3:a:angularjs:angularjs:15.1.0
-
cpe:2.3:a:angularjs:angularjs:15.2.0
-
cpe:2.3:a:angularjs:angularjs:16.0.0
-
cpe:2.3:a:angularjs:angularjs:16.1.0
-
cpe:2.3:a:angularjs:angularjs:16.2.0
-
cpe:2.3:a:angularjs:angularjs:17.0.0
-
cpe:2.3:a:angularjs:angularjs:17.1.0
-
cpe:2.3:a:angularjs:angularjs:17.2.0
-
cpe:2.3:a:angularjs:angularjs:17.3.0
-
cpe:2.3:a:angularjs:angularjs:18.0.0
-
cpe:2.3:a:angularjs:angularjs:18.1.0
-
cpe:2.3:a:angularjs:angularjs:18.2.0
-
cpe:2.3:a:angularjs:angularjs:18.2.14
-
cpe:2.3:a:angularjs:angularjs:19.0.0
-
cpe:2.3:a:angularjs:angularjs:19.1.0
-
cpe:2.3:a:angularjs:angularjs:19.2.0
-
cpe:2.3:a:angularjs:angularjs:19.2.18
-
cpe:2.3:a:angularjs:angularjs:19.2.19
-
cpe:2.3:a:angularjs:angularjs:19.2.20
-
cpe:2.3:a:angularjs:angularjs:19.2.21
-
cpe:2.3:a:angularjs:angularjs:19.2.22
-
cpe:2.3:a:angularjs:angularjs:2.0.0
-
cpe:2.3:a:angularjs:angularjs:2.1.0
-
cpe:2.3:a:angularjs:angularjs:2.2.0
-
cpe:2.3:a:angularjs:angularjs:2.3.0
-
cpe:2.3:a:angularjs:angularjs:2.4.0
-
cpe:2.3:a:angularjs:angularjs:20.0.0
-
cpe:2.3:a:angularjs:angularjs:20.1.0
-
cpe:2.3:a:angularjs:angularjs:20.2.0
-
cpe:2.3:a:angularjs:angularjs:20.3.0
-
cpe:2.3:a:angularjs:angularjs:20.3.16
-
cpe:2.3:a:angularjs:angularjs:20.3.17
-
cpe:2.3:a:angularjs:angularjs:20.3.18
-
cpe:2.3:a:angularjs:angularjs:20.3.19
-
cpe:2.3:a:angularjs:angularjs:20.3.20
-
cpe:2.3:a:angularjs:angularjs:20.3.21
-
cpe:2.3:a:angularjs:angularjs:21.0.0
-
cpe:2.3:a:angularjs:angularjs:21.0.4
-
cpe:2.3:a:angularjs:angularjs:21.0.5
-
cpe:2.3:a:angularjs:angularjs:21.0.6
-
cpe:2.3:a:angularjs:angularjs:21.0.7
-
cpe:2.3:a:angularjs:angularjs:21.0.8
-
cpe:2.3:a:angularjs:angularjs:21.0.9
-
cpe:2.3:a:angularjs:angularjs:21.1.0
-
cpe:2.3:a:angularjs:angularjs:21.1.1
-
cpe:2.3:a:angularjs:angularjs:21.1.2
-
cpe:2.3:a:angularjs:angularjs:21.1.3
-
cpe:2.3:a:angularjs:angularjs:21.1.4
-
cpe:2.3:a:angularjs:angularjs:21.1.5
-
cpe:2.3:a:angularjs:angularjs:21.1.6
-
cpe:2.3:a:angularjs:angularjs:21.2.0
-
cpe:2.3:a:angularjs:angularjs:21.2.1
-
cpe:2.3:a:angularjs:angularjs:21.2.10
-
cpe:2.3:a:angularjs:angularjs:21.2.11
-
cpe:2.3:a:angularjs:angularjs:21.2.12
-
cpe:2.3:a:angularjs:angularjs:21.2.13
-
cpe:2.3:a:angularjs:angularjs:21.2.14
-
cpe:2.3:a:angularjs:angularjs:21.2.2
-
cpe:2.3:a:angularjs:angularjs:21.2.3
-
cpe:2.3:a:angularjs:angularjs:21.2.4
-
cpe:2.3:a:angularjs:angularjs:21.2.5
-
cpe:2.3:a:angularjs:angularjs:21.2.6
-
cpe:2.3:a:angularjs:angularjs:21.2.7
-
cpe:2.3:a:angularjs:angularjs:21.2.8
-
cpe:2.3:a:angularjs:angularjs:21.2.9
-
cpe:2.3:a:angularjs:angularjs:22.0.0
-
cpe:2.3:a:angularjs:angularjs:4.0.0
-
cpe:2.3:a:angularjs:angularjs:4.1.0
-
cpe:2.3:a:angularjs:angularjs:4.2.0
-
cpe:2.3:a:angularjs:angularjs:4.3.0
-
cpe:2.3:a:angularjs:angularjs:4.4.0
-
cpe:2.3:a:angularjs:angularjs:5.0.0
-
cpe:2.3:a:angularjs:angularjs:5.1.0
-
cpe:2.3:a:angularjs:angularjs:5.2.0
-
cpe:2.3:a:angularjs:angularjs:6.0.0
-
cpe:2.3:a:angularjs:angularjs:6.1.0
-
cpe:2.3:a:angularjs:angularjs:7.0.0
-
cpe:2.3:a:angularjs:angularjs:7.1.0
-
cpe:2.3:a:angularjs:angularjs:7.2.0
-
cpe:2.3:a:angularjs:angularjs:8.0.0
-
cpe:2.3:a:angularjs:angularjs:8.1.0
-
cpe:2.3:a:angularjs:angularjs:8.2.0
-
cpe:2.3:a:angularjs:angularjs:9.0.0
-
cpe:2.3:a:angularjs:angularjs:9.1.0