Biblioteka protobuf.js umożliwia atakującym wstrzyknięcie dowolnego kodu JavaScript poprzez pole "type" w definicjach protobuf. Wstrzyknięty kod jest następnie wykonywany podczas dekodowania obiektów, co stanowi poważne zagrożenie dla aplikacji przetwarzających niezaufane definicje.
▸ Pokaż oryginał (EN)
protobufjs compiles protobuf definitions into JavaScript (JS) functions. In versions prior to 8.0.1 and 7.5.5, attackers can inject arbitrary code in the "type" fields of protobuf definitions, which will then execute during object decoding using that definition. Versions 8.0.1 and 7.5.5 patch the issue.
Podatność (CWE-94 — code injection) polega na braku odpowiedniej walidacji pola "type" w definicjach protobuf kompilowanych przez bibliotekę protobuf.js. Atakujący może umieścić w tym polu złośliwy kod JavaScript, który zostaje osadzony w dynamicznie generowanych funkcjach dekodujących. W momencie dekodowania obiektu z użyciem takiej definicji, wstrzyknięty kod jest wykonywany w kontekście aplikacji.
Atakujący z uprawnieniami umożliwiającymi dostarczenie złośliwej definicji protobuf może doprowadzić do wykonania dowolnego kodu JavaScript w kontekście aplikacji, co może skutkować przejęciem kontroli nad procesem, wyciekiem danych lub dalszym naruszeniem systemu.
Należy zaktualizować protobuf.js do wersji 7.5.5 lub 8.0.1, które zawierają poprawkę eliminującą podatność. Patche dostępne są w repozytorium GitHub projektu.
Protobufjs Project protobuf.js w wersjach wcześniejszych niż 7.5.5 (gałąź 7.x) oraz wcześniejszych niż 8.0.1 (gałąź 8.x)
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XProtobufjs Project Protobufjs
APPProtobufjs Project8.0.0< 7.5.5
Powiązane podatności
"protobuf.js (aka protobufjs) 6.10.0 through 7.x before 7.2.5 allows Prototype Pollution, a different vulnerab...
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.6.1 and 8.4.1, protobufjs ...
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.5.6 and 8.0.2, protobufjs ...
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.5.6 and 8.0.2, protobufjs ...
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.5.6 and 8.0.2, protobufjs ...