Cesanta MJS 2.20.0 zawiera podatność out-of-bounds read w funkcji getprop_builtin_foreign, sklasyfikowaną jako CWE-120 (buffer overflow). Błąd pozwala zdalnie, bez uwierzytelnienia, na odczyt pamięci poza zarezerwowanym buforem, co nadaje jej krytyczny poziom zagrożenia.
▸ Pokaż oryginał (EN)
Cesanta MJS 2.20.0 has a getprop_builtin_foreign out-of-bounds read if a Built-in API name occurs in a substring of an input string.
Podatność jest wyzwalana, gdy nazwa wbudowanego API (Built-in API) pojawia się jako podciąg (substring) w przetwarzanym ciągu wejściowym. W takiej sytuacji funkcja getprop_builtin_foreign dokonuje odczytu poza granicami bufora (out-of-bounds read). Brak walidacji długości lub granic przetwarzanego ciągu prowadzi do niekontrolowanego dostępu do pamięci.
Atakujący może spowodować ujawnienie poufnych danych z pamięci procesu, naruszenie integralności lub dostępności aplikacji — w najgorszym przypadku prowadząc do jej awarii lub umożliwiając dalsze działania exploitacyjne.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (poprawka dostępna w repozytorium projektu na GitHub jako pull request #255). Zaleca się aktualizację do wersji zawierającej wdrożoną poprawkę.
Cesanta MJS w wersji 2.20.0
Podatność zgłoszona i opisana w issue #254 repozytorium GitHub projektu Cesanta MJS; poprawka zaproponowana w pull request #255.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCesanta Mjs
APPCesanta2.22.0
Powiązane podatności
Cesanta mjs v2.20.0 was discovered to contain a function pointer hijacking vulnerability via the function mjs_...
An issue in Cesanta mjs 2.20.0 allows a remote attacker to cause a denial of service via the mjs_do_gc functio...
An issue in Cesanta mjs 2.20.0 allows a remote attacker to cause a denial of service via the mjs_op_json_parse...
An issue in Cesanta mjs 2.20.0 allows a remote attacker to cause a denial of service via the mjs_getretvalpos ...
An issue in Cesanta mjs 2.20.0 allows a remote attacker to cause a denial of service via the mjs+0x4ec508 comp...