Mesop w wersjach 1.2.2 i wcześniejszych zawiera krytyczną podatność typu path traversal, umożliwiającą nieuwierzytelnionemu atakującemu dostęp do dowolnych plików na dysku serwera. Luka jest szczególnie niebezpieczna dla instalacji korzystających z backendu FileStateSessionBackend, który jest standardowym mechanizmem przechowywania sesji.
▸ Pokaż oryginał (EN)
Mesop is a Python-based UI framework that allows users to build web applications. Versions 1.2.2 and below contain a Path Traversal vulnerability that allows any user supplying an untrusted state_token through the UI stream payload to arbitrarily target files on the disk under the standard file-based runtime backend. This can result in application denial of service (via crash loops when reading non-msgpack target files as configurations), or arbitrary file manipulation. This vulnerability heavily exposes systems hosted utilizing FileStateSessionBackend. Unauthorized malicious actors could interact with arbitrary payloads overwriting or explicitly removing underlying service resources natively outside the application bounds. This issue has been fixed in version 1.2.3.
Atakujący dostarcza spreparowany parametr state_token w payloadzie żądania do endpointu UI stream. Podatna implementacja nie waliduje prawidłowo tej wartości, przez co backend oparty na plikach (FileStateSessionBackend) może zostać nakierowany na dowolny plik na dysku serwera. Jeśli wskazany plik nie jest zgodny z formatem msgpack (oczekiwanym przez aplikację), dochodzi do błędu odczytu powodującego crash loop i odmowę usługi (DoS). Atakujący może również nadpisać lub usunąć zasoby systemowe poza granicami aplikacji.
Nieuwierzytelniony atakujący może powodować wielokrotne awarie aplikacji (crash loop, DoS), a także dowolnie nadpisywać lub usuwać pliki na dysku serwera poza zakresem aplikacji, co może prowadzić do trwałego uszkodzenia lub utraty danych.
Należy zaktualizować Mesop do wersji 1.2.3, w której podatność została naprawiona. Patch dostępny jest w repozytorium GitHub (commit c6b382f363b73ac32c402a2db3aadc7784f66a5b) oraz jako oficjalne wydanie v1.2.3.
Mesop (mesop-dev/mesop) w wersjach 1.2.2 i wcześniejszych, szczególnie instalacje wykorzystujące FileStateSessionBackend jako backend sesji.
Podatność nie wymaga uwierzytelnienia ani interakcji użytkownika (CVSS: AV:N/AC:L/PR:N/UI:N), a jej zakres przekracza granice aplikacji (S:C). Instalacje korzystające z FileStateSessionBackend są szczególnie narażone według opisu producenta. Szczegóły opublikowano w GitHub Security Advisory GHSA-8qvf-mr4w-9x2c.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HMesop Dev Mesop
APPMesop-Dev< 1.2.3