CVE-2026-54269
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 15 - wyżej niż 15% wszystkich znanych CVE
Streszczenie
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ą.
Ocena ryzyka
Organizacje mogą być narażone na błędy w przetwarzaniu danych oraz na nieprzewidywalne zachowanie aplikacji, co może prowadzić do poważnych problemów z integralnością danych.
Rekomendacja
Zaleca się aktualizację protobufjs do wersji 8.6.0 lub 7.6.3, aby usunąć tę podatność i zminimalizować ryzyko związane z błędami w aplikacjach.
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-44293Wysokie
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.
- 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 8.6.0 and 7.6.3, protobufjs accepted certain schema-derived names that could collide with properties used by protobufjs runtime helpers. The known affected names are fields named hasOwnProperty, field or oneof names such as $type when loaded through protobufjs JSON/reflection descriptors, and service methods whose generated helper name is rpcCall. When affected message or service types were used, protobufjs could read schema-controlled data where it expected an own-property helper, reflected type metadata, or the base RPC helper. This could cause deterministic exceptions or recursive calls in affected decode post-checks, verification, object conversion, reflected JSON serialization, or protobufjs RPC helper invocation. This vulnerability is fixed in 8.6.0 and 7.6.3.

