CVE-2026-44293
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
protobufjs przed wersjami 7.5.6 i 8.0.2 generuje kod JavaScript dla funkcji toObject, który może zawierać niebezpieczne wyrażenie pochodzące z domyślnej wartości pola bytes kontrolowanej przez schemat. Specjalnie spreparowany deskryptor może spowodować wykonanie kodu atakującego.
Ocena ryzyka
Atakujący może wstrzyknąć i wykonać dowolny kod JavaScript w kontekście aplikacji używającej protobufjs, co prowadzi do pełnej kompromitacji.
Rekomendacja
Należy zaktualizować protobufjs do wersji 7.5.6 (dla linii 7.x) lub 8.0.2 (dla linii 8.x).
Inne podatności w protobufjs
Zobacz wszystkie- CVE-2026-41242Krytyczne
Podatność w bibliotece protobufjs umożliwia wstrzyknięcie dowolnego kodu JavaScript przez pola 'type' w definicjach protobuf. Kod wykonuje się podczas dekodowania obiektów. Problem został załatany w wersjach 8.0.1 i 7.5.5.
- CVE-2026-59877Średnie
Podatność w bibliotece protobufjs umożliwia zapętlenie nieskończone podczas parsowania specjalnie spreparowanych plików .proto. Brak sprawdzenia końca wejścia przy przetwarzaniu opcji powoduje, że funkcje parse, Root.load lub Root.loadSync mogą działać w nieskończoność.
- CVE-2026-59876Średnie
Podatność w bibliotece protobufjs (wersje 8.2.0 do 8.6.5) umożliwia atak typu prototype pollution poprzez parsowanie map w formacie Text Format. Atakujący może wstrzyknąć klucz mapy o nazwie __proto__, co zmienia prototyp obiektu zamiast tworzyć wpis w mapie.
- CVE-2026-54270Średnie
Wersje protobufjs od 8.2.0 do 8.4.2 nie miały opcji do odrzucania nieznanych pól podczas dekodowania, co mogło prowadzić do nadmiernego zużycia pamięci przez dekodowane wiadomości. W wersji 8.5.0 dodano opcje umożliwiające wyłączenie zatrzymywania nieznanych pól, a w wersji 8.6.2 domyślnie odrzucane są nieznane pola.
- CVE-2026-54269Średnie
W wersjach przed 8.6.0 i 7.6.3, protobufjs akceptował pewne nazwy pochodzące ze schematu, które mogły kolidować z właściwościami używanymi przez pomocników runtime protobufjs. To mogło prowadzić do wyjątków deterministycznych lub rekurencyjnych wywołań w różnych operacjach związanych z dekodowaniem i serializacją.
- CVE-2026-44289Wysokie
Protobufjs przed wersjami 7.5.6 i 8.0.2 nie ogranicza głębokości rekurencji podczas dekodowania zagnieżdżonych danych protobuf. Specjalnie spreparowany binarny ładunek protobuf może wyczerpać stos wywołań JavaScript, powodując awarię.
Oryginalny opis (angielski, źródło NVD)
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.5.6 and 8.0.2, protobufjs generated JavaScript for toObject conversion could include an unsafe expression derived from a schema-controlled bytes field default value. A crafted descriptor with a non-string default value for a bytes field could cause attacker-controlled code to be emitted into the generated conversion function. This vulnerability is fixed in 7.5.6 and 8.0.2.

