Podatność typu command injection w endpoincie `TranscriptEndpoint` projektu mudler/LocalAI pozwala nieuwierzytelnionemu atakującemu na wykonanie dowolnych poleceń na serwerze. Wynika z braku sanityzacji nazw plików dostarczanych przez użytkownika przed przekazaniem ich do polecenia systemowego uruchamiającego ffmpeg.
▸ Pokaż oryginał (EN)
A command injection vulnerability exists in the `TranscriptEndpoint` of mudler/localai, specifically within the `audioToWav` function used for converting audio files to WAV format for transcription. The vulnerability arises due to the lack of sanitization of user-supplied filenames before passing them to ffmpeg via a shell command, allowing an attacker to execute arbitrary commands on the host system. Successful exploitation could lead to unauthorized access, data breaches, or other detrimental impacts, depending on the privileges of the process executing the code.
Funkcja `audioToWav` odpowiedzialna za konwersję plików audio do formatu WAV przekazuje nazwę pliku podaną przez użytkownika bezpośrednio do polecenia shell wywołującego ffmpeg, bez żadnej walidacji ani sanityzacji. Atakujący może spreparować złośliwą nazwę pliku zawierającą dodatkowe polecenia systemowe (np. z użyciem znaków specjalnych powłoki), które zostaną wykonane w kontekście procesu serwera. Nie jest wymagane żadne uwierzytelnienie ani interakcja po stronie użytkownika.
Skuteczne wykorzystanie podatności umożliwia atakującemu wykonanie dowolnych poleceń na serwerze hostującym LocalAI, co może prowadzić do nieautoryzowanego dostępu do danych, wycieku poufnych informacji, przejęcia kontroli nad systemem lub innych szkód zależnych od uprawnień procesu.
Należy zaktualizować mudler/LocalAI do wersji zawierającej commit 31a4c9c9d3abc58de2bdc5305419181c8b33eb1c, który wprowadza odpowiednią sanityzację nazw plików przekazywanych do ffmpeg. Szczegóły dostępne w referencjach producenta na GitHub oraz w zgłoszeniu na platformie huntr.com.
Produkt mudler/LocalAI — wersje wskazane w referencjach producenta (patched commit: 31a4c9c9d3abc58de2bdc5305419181c8b33eb1c)
Podatność została zgłoszona za pośrednictwem platformy huntr.com (bounty: e092528a-ce3b-4e66-9b98-3f56d6b276b0). Wektor ataku sieciowy, brak wymagań dotyczących uwierzytelnienia i interakcji użytkownika (AV:N/AC:L/PR:N/UI:N) czyni tę podatność szczególnie łatwą do zdalnego wykorzystania.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HMudler Localai
APPMudler< 2.10.0
Powiązane podatności
Podatność tarslip w LocalAI umożliwiająca RCE przez arbitralny zapis pliku
Command injection w LocalAI — pełne przejęcie systemu przez parametr backend
Path traversal w LocalAI umożliwiający usuwanie dowolnych plików
mudler/localai version 2.17.1 is vulnerable to remote code execution. The vulnerability arises because the loc...
mudler/localai version v2.21.1 contains a Cross-Site Scripting (XSS) vulnerability in its search functionality...