Mesop w wersjach 1.2.2 i niższych zawiera nieuwierzytelniony endpoint HTTP /exec-py w module testowym AI, który przyjmuje i wykonuje dowolny kod Python przesłany przez atakującego. Podatność umożliwia pełne zdalne wykonanie kodu (RCE) na serwerze hostującym aplikację bez żadnych poświadczeń.
▸ Pokaż oryginał (EN)
Mesop is a Python-based UI framework that allows users to build web applications. In versions 1.2.2 and below, an explicit web endpoint inside the ai/ testing module infrastructure directly ingests untrusted Python code strings unconditionally without authentication measures, yielding standard Unrestricted Remote Code Execution. Any individual capable of routing HTTP logic to this server block will gain explicit host-machine command rights. The AI codebase package includes a lightweight debugging Flask server inside ai/sandbox/wsgi_app.py. The /exec-py route accepts base_64 encoded raw string payloads inside the code parameter natively evaluated by a basic POST web request. It saves it rapidly to the operating system logic path and injects it recursively using execute_module(module_path...). This issue has been fixed in version 1.2.3.
W pakiecie AI frameworka Mesop znajduje się pomocniczy serwer Flask (ai/sandbox/wsgi_app.py) zawierający endpoint /exec-py. Endpoint ten przyjmuje żądania HTTP POST z parametrem code zawierającym kod Python zakodowany w Base64. Przesłany kod jest dekodowany, zapisywany na dysku systemu operacyjnego, a następnie wykonywany za pomocą funkcji execute_module() — bez jakiejkolwiek weryfikacji tożsamości wywołującego. Każda osoba zdolna do przesłania żądania HTTP do tego serwera uzyskuje natychmiastową możliwość wykonania dowolnych poleceń z uprawnieniami procesu serwera.
Atakujący bez żadnego uwierzytelnienia może wykonać dowolny kod na maszynie hostującej, co prowadzi do pełnego przejęcia kontroli nad serwerem, wycieku danych, instalacji złośliwego oprogramowania lub dalszego lateral movement w sieci.
Należy zaktualizować Mesop do wersji 1.2.3, w której podatność została naprawiona. Do czasu aktualizacji zaleca się zablokowanie dostępu sieciowego do endpointu /exec-py oraz upewnienie się, że serwer debugowania Flask z modułu ai/sandbox nie jest eksponowany publicznie.
Mesop (mesop-dev/mesop) w wersjach 1.2.2 i niższych, jeśli wdrożono z dostępnym modułem ai/sandbox/wsgi_app.py
Poprawka dostępna w commicie 825f55970c20686de3f28e2c66df4d74e9d4db47 w repozytorium GitHub projektu. Szczegóły opublikowano w ramach GitHub Security Advisory GHSA-gjgx-rvqr-6w6v.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HMesop Dev Mesop
APPMesop-Dev< 1.2.3