CVE-2026-73646
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 32 - wyżej niż 32% wszystkich znanych CVE
Streszczenie
W PostCSS przed wersją 8.5.18 funkcja loadMap() w lib/previous-map.js przekazuje kontrolowane przez atakującego wartości sourceMappingURL do join(dirname(opts.from), annotation), a loadFile() pozwala na ścieżki .map z traversalem lub absolutne, co umożliwia ujawnienie sourcesContent z dowolnych osiągalnych plików .map przez result.map, gdy przetwarzany jest niezaufany CSS bez opcji map: false.
Ocena ryzyka
Przetwarzanie niezaufanego CSS może prowadzić do ujawnienia zawartości źródeł z plików .map, co może naruszyć poufność danych.
Rekomendacja
Zaleca się aktualizację PostCSS do wersji 8.5.18 lub nowszej oraz unikanie przetwarzania niezaufanego CSS bez ustawienia map: false.
Inne podatności w PostCSS
Zobacz wszystkie- CVE-2026-69153Średnie
PostCSS przed wersją 8.5.19 zawiera podatność, w której jeśli opcja from nie jest ustawiona, atakujący może spowodować, że funkcja PreviousMap.loadFile() odczyta nieprzeznaczony plik mapy źródłowej, podając absolutny lub zawierający traversal katalogów sourceMappingURL. Wynikowe źródła i zawartość źródeł mapy mogą zostać ujawnione aplikacji.
- CVE-2026-45623Wysokie
PostCSS w wersjach do 8.5.11 zawiera podatność polegającą na tym, że parser PreviousMap odczytuje komentarz /*# sourceMappingURL=PATH */ z dowolnego ciągu CSS przekazanego do process() i dereferencjonuje PATH względem lokalnego systemu plików bez sprawdzania schematu, listy dozwolonych ścieżek ani zabezpieczeń przed przechodzeniem do katalogów nadrzędnych. Atakujący kontrolujący dane wejściowe CSS może spowodować odczytanie przez proces hosta dowolnego pliku czytelnego dla Node i wyciek pierwszych ~10 bajtów jego zawartości poprzez komunikat błędu JSON.parse SyntaxError. Błąd umożliwia również precyzyjne sprawdzenie istnienia pliku oraz prymityw kontrolowanego odczytu, który w połączeniu z dużymi plikami może prowadzić do DoS. Podatność jest wyzwalana przy domyślnych ustawieniach PostCSS i jest osiągalna z każdego potoku przetwarzającego niezaufany CSS przez PostCSS.
Oryginalny opis (angielski, źródło NVD)
PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Prior to 8.5.18, lib/previous-map.js loadMap() passes attacker-controlled sourceMappingURL values to join(dirname(opts.from), annotation), and loadFile() permits traversed or absolute .map paths, allowing untrusted CSS processed without map: false to disclose sourcesContent from arbitrary reachable .map files through result.map. This issue is fixed in version 8.5.18.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

