CVE-2026-69152
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 29 - wyżej niż 29% wszystkich znanych CVE
Streszczenie
Biblioteka brace-expansion przed wersjami 1.1.18, 2.1.4, 3.0.6 i 5.0.9 zawiera podatność polegającą na tym, że funkcja expand() nie stosuje ograniczenia maxLength podczas konstruowania pośrednich tablic alternatywnych przecinków lub wypełnionych sekwencji. Pozwala to na wyczerpanie pamięci lub zablokowanie pętli zdarzeń przez kontrolowane przez atakującego dane wejściowe.
Ocena ryzyka
Atakujący może spowodować odmowę usługi (DoS) poprzez wyczerpanie pamięci lub zablokowanie pętli zdarzeń, co może uniemożliwić działanie aplikacji korzystających z tej biblioteki.
Rekomendacja
Należy zaktualizować bibliotekę brace-expansion do wersji 1.1.18, 2.1.4, 3.0.6 lub 5.0.9, w zależności od używanej głównej wersji.
Inne podatności w brace-expansion
Zobacz wszystkie- CVE-2025-5889Niskie
W bibliotece brace-expansion do wersji 1.1.11, 2.0.1, 3.0.0 i 4.0.0 wykryto podatność polegającą na nieefektywnej złożoności wyrażenia regularnego w funkcji expand w pliku index.js. Atak może być przeprowadzony zdalnie.
- CVE-2026-14257Wysokie
brace-expansion do wersji 5.0.7 jest podatny na atak DoS przez wyczerpanie pamięci. Funkcja expand() ogranicza liczbę wyników opcją max (domyślnie 100 000), ale nie ogranicza długości każdego łańcucha wynikowego. Łącząc wiele grup nawiasów klamrowych, atakujący utrzymuje liczbę wyników poniżej limitu, jednocześnie sprawiając, że każdy wynik jest coraz dłuższy, co prowadzi do fatalnego błędu braku pamięci. Około 7,5 KB wejścia ('{a,b}'.repeat(1500)) powoduje awarię domyślnego procesu Node.js. Podatność załatana w wersji 5.0.8 przez dodanie opcji maxLength (domyślnie 4 000 000).
- CVE-2026-13149Wysokie
Podatność w bibliotece brace-expansion do wersji 5.0.6 umożliwia atak DoS poprzez przesłanie spreparowanego ciągu znaków z dużą liczbą grup klamrowych '{}'. Funkcja expand() ma złożoność wykładniczą, co prowadzi do znacznego obciążenia CPU i blokowania pętli zdarzeń.
- CVE-2026-45149Średnie
Biblioteka brace-expansion w wersjach od 5.0.0 do przed 5.0.6 ma wadę w implementacji opcji max. Przy rozwijaniu dużego zakresu liczbowego (np. {1..10000000}) generowane są wszystkie elementy pośrednie przed zastosowaniem limitu, co prowadzi do nadmiernego zużycia pamięci (ok. 505 MB) i czasu procesora (ok. 800 ms). Problem został naprawiony w wersji 5.0.6.
Oryginalny opis (angielski, źródło NVD)
The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.18, 2.1.4, 3.0.6, and 5.0.9, expand() does not apply maxLength while constructing comma-alternative intermediate arrays or padded sequences, allowing attacker-controlled input to exhaust memory or block the event loop. The fix for CVE-2026-14257 is bypassed by the vulnerability. This issue is fixed in versions 1.1.18, 2.1.4, 3.0.6, and 5.0.9.

