CVE-2026-89036
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 52 - wyżej niż 52% wszystkich znanych CVE
Streszczenie
Appwrite przed wersją 2.0.0 zawiera podatność na wstrzyknięcie argumentów, która pozwala uwierzytelnionym użytkownikom z uprawnieniami functions.write lub sites.write na wykonanie dowolnych poleceń poprzez wstrzyknięcie znaków TAB do parametru providerRootDirectory używanego do budowania poleceń GNU tar. Aplikacja używa escapeshellcmd zamiast escapeshellarg i nie cytuje parametru, co pozwala znakom TAB przetrwać sanityzację i zostać zinterpretowanym jako separatory argumentów, umożliwiając wstrzyknięcie dowolnych argumentów GNU tar, takich jak --checkpoint-action=exec, w celu zdalnego wykonania kodu jako użytkownik procesu roboczego builds.
Ocena ryzyka
Uwierzytelniony użytkownik z określonymi uprawnieniami może zdalnie wykonać dowolny kod na serwerze, co prowadzi do pełnego przejęcia systemu i naruszenia danych.
Rekomendacja
Zaktualizuj Appwrite do wersji 2.0.0 lub nowszej, która prawidłowo cytuje parametry i zapobiega wstrzyknięciu argumentów.
Inne podatności w Appwrite
Zobacz wszystkie- CVE-2026-108770Średnie
W systemie Appwrite do wersji 2.3.0 wykryto podatność na Server-Side Request Forgery (SSRF) w funkcji PublicHostname pliku src/Appwrite/Platform/Modules/Avatars/Http/Screenshots/Get.php w komponencie Browser Screenshot Service. Manipulacja argumentem url umożliwia zdalny atak. Poprawka dostępna w wersji 2.4.0.
- CVE-2023-27159Wysokie
W Appwrite do wersji 1.2.1 wykryto podatność na fałszerstwo żądań po stronie serwera (SSRF) w komponencie /v1/avatars/favicon. Umożliwia ona atakującym dostęp do zasobów sieciowych i poufnych informacji poprzez spreparowane żądanie GET.
Oryginalny opis (angielski, źródło NVD)
Appwrite before 2.0.0 contains an argument injection vulnerability that allows authenticated users with functions.write or sites.write permissions to execute arbitrary commands by injecting TAB characters into the providerRootDirectory parameter used to construct GNU tar commands. The application uses escapeshellcmd instead of escapeshellarg and fails to quote the parameter, allowing TAB characters to survive sanitization and be interpreted as argument separators, enabling injection of arbitrary GNU tar arguments such as --checkpoint-action=exec to achieve remote code execution as the builds worker process user.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

