Podatność typu shellcode injection w obsłudze repozytoriów Mercurial przez usługę obs-service-tar_scm (przed wersją 0.12.4) umożliwia nieautoryzowanym atakującym wykonanie dowolnego kodu. Zagrożenie jest krytyczne, ponieważ nie wymaga żadnego uwierzytelnienia ani interakcji użytkownika, a zakres oddziaływania wykracza poza bezpośredni komponent.
▸ Pokaż oryginał (EN)
A shellcode injection in the mercurial handler of the obs tar_scm source service before version 0.12.4 could be used by attackers able to provide a _service file to execute code as the source service or the local user checking out the malicious services
Atakujący, który jest w stanie dostarczyć złośliwy plik _service do systemu Open Build Service, może umieścić w nim specjalnie spreparowany payload wykorzystujący podatny handler Mercurial. Usługa tar_scm podczas przetwarzania takiego pliku nie sanityzuje odpowiednio danych wejściowych (CWE-78 — command injection), co pozwala na wstrzyknięcie shellcode. Złośliwy kod zostaje wykonany w kontekście procesu usługi źródłowej lub lokalnego użytkownika, który sprawdza out usługi zawierające złośliwą konfigurację.
Atakujący może wykonać dowolny kod jako proces usługi źródłowej (source service) lub w kontekście lokalnego użytkownika przetwarzającego złośliwy plik _service, co może prowadzić do pełnego przejęcia kontroli nad systemem, ujawnienia danych oraz naruszenia ich integralności i dostępności.
Należy zaktualizować obs-service-tar_scm do wersji 0.12.4 lub nowszej. Szczegóły poprawki dostępne są w referencjach producenta (pull request #552 w repozytorium openSUSE/obs-service-tar_scm).
obs-service-tar_scm przed wersją 0.12.4 — dotyczy instancji Open Build Service korzystających z handlera Mercurial w usłudze tar_scm
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H