CRITICAL🇬🇧 English

CVE-2019-15900

Privilege escalation w doas — wykonanie polecenia jako root przez błąd sscanf

CVSS 9.8v3.1pub. 2019-10-18upd. 2024-11-21

Podatność w narzędziu slicer69 doas (przed wersją 6.2) na platformach innych niż OpenBSD pozwala nieuwierzytelnionemu lub nieuprzywilejowanemu użytkownikowi na wykonanie dowolnego polecenia z uprawnieniami roota. Błąd wynika z niepoprawnej obsługi niezainicjowanej zmiennej przy parsowaniu nazwy użytkownika lub grupy.

Pokaż oryginał (EN)

An issue was discovered in slicer69 doas before 6.2 on certain platforms other than OpenBSD. On platforms without strtonum(3), sscanf was used without checking for error cases. Instead, the uninitialized variable errstr was checked and in some cases returned success even if sscanf failed. The result was that, instead of reporting that the supplied username or group name did not exist, it would execute the command as root.

🤖 Analiza AI
Jak działa

Na platformach, które nie udostępniają funkcji strtonum(3) (np. Linux), doas używał funkcji sscanf do przetwarzania nazw użytkowników i grup. W przypadku niepowodzenia sscanf kod nie sprawdzał zwróconego kodu błędu, lecz odczytywał niezainicjowaną zmienną errstr. Wartość tej zmiennej mogła przypadkowo wskazywać na sukces, co powodowało, że doas — zamiast zgłosić błąd braku użytkownika lub grupy — wykonywał żądane polecenie z uprawnieniami root. W efekcie brak poprawnej weryfikacji tożsamości prowadził do nieuprawnionego privilege escalation.

Skutki

Atakujący może wykonać dowolne polecenie systemowe z uprawnieniami roota, uzyskując pełną kontrolę nad systemem, w tym możliwość odczytu i modyfikacji dowolnych danych oraz trwałego przejęcia maszyny.

Mitygacja

Należy zaktualizować doas do wersji 6.2 lub nowszej. Poprawka dostępna jest w repozytorium projektu (commit 2f83222829448e5bc4c9391d607ec265a1e06531, różnice między wersjami 6.1p1 a 6.2). Administratorzy korzystający z doas na systemach Linux lub innych platformach bez strtonum(3) powinni niezwłocznie zastosować aktualizację.

Kogo dotyczy

slicer69 doas w wersjach przed 6.2, działający na platformach innych niż OpenBSD (np. Linux), które nie posiadają funkcji strtonum(3)

Uwagi

Podatność dotyczy wyłącznie platform bez natywnej implementacji strtonum(3) — systemy OpenBSD nie są podatne. Błąd został naprawiony w wersji 6.2 projektu slicer69/doas.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Doas Project Doas

    APP
    Doas Project
    < 6.2
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2019-15901HIGH8.8ten sam produkt

An issue was discovered in slicer69 doas before 6.2 on certain platforms other than OpenBSD. A setusercontext(...