Podatność w węźle Workflow Script Node platformy NocoBase umożliwia uwierzytelnionemu atakującemu ucieczkę z piaskownicy Node.js VM i wykonanie dowolnego kodu z uprawnieniami roota. Ze względu na krytyczny wynik CVSS 9.9 oraz możliwość przejęcia pełnej kontroli nad serwerem, zagrożenie jest bardzo poważne.
▸ Pokaż oryginał (EN)
NocoBase is an AI-powered no-code/low-code platform for building business applications and enterprise solutions. Prior to version 2.0.28, NocoBase's Workflow Script Node executes user-supplied JavaScript inside a Node.js vm sandbox with a custom require allowlist (controlled by WORKFLOW_SCRIPT_MODULES env var). However, the console object passed into the sandbox context exposes host-realm WritableWorkerStdio stream objects via console._stdout and console._stderr. An authenticated attacker can traverse the prototype chain to escape the sandbox and achieve Remote Code Execution as root. This issue has been patched in version 2.0.28.
Węzeł Workflow Script Node wykonuje kod JavaScript dostarczony przez użytkownika wewnątrz piaskownicy Node.js vm z niestandardową listą dozwolonych modułów (kontrolowaną przez zmienną środowiskową WORKFLOW_SCRIPT_MODULES). Do kontekstu piaskownicy przekazywany jest obiekt console, który poprzez właściwości console._stdout oraz console._stderr ujawnia obiekty strumieni WritableWorkerStdio należące do przestrzeni hosta. Atakujący może przejść po łańcuchu prototypów tych obiektów, aby wydostać się poza izolację piaskownicy i uzyskać dostęp do środowiska hosta. W rezultacie możliwe jest wykonanie dowolnego kodu JavaScript poza piaskownicą z uprawnieniami roota.
Atakujący może osiągnąć pełne zdalne wykonanie kodu (RCE) z uprawnieniami roota na serwerze hostującym aplikację NocoBase, co w praktyce oznacza całkowite przejęcie systemu, dostęp do danych oraz możliwość dalszego rozprzestrzeniania się w sieci.
Należy niezwłocznie zaktualizować NocoBase do wersji 2.0.28 lub nowszej, w której podatność została załatana. Szczegóły dostępne w oficjalnych referencjach producenta (GitHub Security Advisory GHSA-px3p-vgh9-m57c oraz release tag v2.0.28).
NocoBase we wszystkich wersjach przed 2.0.28
Podatność wymaga posiadania konta w aplikacji (PR:L), jednak zakres ataku wykracza poza instancję aplikacji (S:C), co w połączeniu z pełnym przejęciem poufności, integralności i dostępności uzasadnia wynik CVSS 9.9. Poprawka wprowadzona w wersji 2.0.28 (pull request #8967).
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HNocobase
APPNocobase< 2.0.28
Powiązane podatności
NocoBase is an AI-powered no-code/low-code platform for building business applications and enterprise solution...
NocoBase is an AI-powered no-code/low-code platform for building business applications and enterprise solution...
NocoBase is an AI-powered no-code/low-code platform for building business applications and enterprise solution...
NocoBase is an AI-powered no-code/low-code platform for building business applications and enterprise solution...