Kwetsbaarheden in OpenBSD die verhoogde privileges en omzeilen van authenticatie in smtpd, ldapd en radiusd mogelijk maken

Qualys heeft vier kwetsbaarheden In OpenBSD is er een kwetsbaarheid die het mogelijk maakt om zonder authenticatie op afstand verbinding te maken met bepaalde netservices, terwijl drie andere kwetsbaarheden de privileges in het systeem kunnen verhogen. In het rapport van Qualys wordt de snelle reactie van de ontwikkelaars van OpenBSD opgemerkt - alle problemen zijn opgelost in OpenBSD 6.5 en OpenBSD 6.6 binnen 40 uur na de privƩ notificatie opgelost.

De op afstand uitbuitbare kwetsbaarheid wordt veroorzaakt door een fout bij het aanroepen van de authenticatiehandler in de libc-bibliotheek, die
het programma /usr/libexec/auth/login_style aanroept met argumenten in de commandoregel. Dit houdt in dat bij het aanroepen van login_style via de optionele parameter '-s service' de naam van het protocol kan worden doorgegeven. Als er een '-' teken aan het begin van de gebruikersnaam wordt gebruikt, wordt deze naam behandeld als een optie bij het starten van login_style. Als men bij de authenticatie bijvoorbeeld de gebruikersnaam '-schallenge' of '-schallenge:passwd' opgeeft, interpreteert login_style dit als een verzoek om de handler te gebruiken, S/Key..

Het probleem is dat het S/Key-protocol in login_style slechts formeel wordt ondersteund, maar in feite wordt genegeerd met de melding van succesvolle authenticatie. Dit maakt het mogelijk voor een aanvaller om zich voor te doen als de gebruiker '-schallenge', de authenticatie te omzeilen en toegang te krijgen zonder een wachtwoord of sleutels op te geven. Potentieel zijn alle netservices die gebruik maken van de standaard libc-aanroepen voor authenticatie kwetsbaar. Bijvoorbeeld, de mogelijkheid voor omzeiling van authenticatie is bevestigd in smtpd (AUTH PLAIN), ldapd en radiusd.

In sshd manifesteert de kwetsbaarheid zich niet, omdat het extra bescherming biedt door de aanwezigheid van de gebruiker in het systeem te controleren. Niettemin kan sshd worden gebruikt om de kwetsbaarheid van het systeem te testen - bij het inloggen met de gebruikersnaam '-sresponse:passwd' hangt de verbinding, omdat sshd wacht op de terugkeer van parameters van login_passwd (challenge), terwijl login_passwd wacht op de aanlevering van ontbrekende parameters (de naam '-sresponse' wordt als optie geĆÆnterpreteerd). Een lokale aanvaller kan mogelijk proberen om de authenticatie in de su-tool te omzeilen, maar het gebruik van de naam '-sresponse' leidt tot een crash van het proces door de terugkeer van een null-pointer bij het uitvoeren van de functie getpwnam_r('-schallenge', ...).

Andere kwetsbaarheden:

  • CVE-2019-19520 — lokale privilege escalation door manipulatie van de xlock-tool, die wordt geleverd met de sgid-vlag, waardoor de groep verandert in 'auth'. In de xlock-code worden padoverschrijvingen naar bibliotheken alleen verboden bij het wijzigen van de gebruikersidentificatie (setuid), wat een aanvaller in staat stelt de omgevingsvariabele 'LIBGL_DRIVERS_PATH' te wijzigen en zijn eigen gedeelde bibliotheek te laden, waarvan de code wordt uitgevoerd na privilegeverhoging naar de groep 'auth'.
  • CVE-2019-19522 — stelt lokale gebruikers in de groep 'auth' in staat om code met root-rechten uit te voeren wanneer authenticatie via S/Key of YubiKey in het systeem is ingeschakeld (standaard niet geactiveerd). Toegang tot de groep 'auth', die kan worden verkregen door de eerder genoemde kwetsbaarheid in xlock te exploiteren, maakt het mogelijk om bestanden te schrijven naar de mappen /etc/skey en /var/db/yubikey. Bijvoorbeeld, een aanvaller kan een nieuw bestand /etc/skey/root toevoegen om eenmalige sleutels te genereren voor authenticatie als gebruiker root via S/Key.
  • CVE-2019-19519 — mogelijkheid om bronnenlimieten te verhogen door manipulatie van de su-tool. Bij het opgeven van de '-L' optie, die cyclisch herhaalde pogingen tot authenticatie bij mislukking impliceert, wordt de gebruikersklasse slechts ƩƩn keer ingesteld en niet gereset bij volgende pogingen. Een aanvaller kan 'su -l -L' uitvoeren en bij de eerste poging een andere gebruikersnaam invoeren met een andere accountklasse, maar bij de tweede poging met succes authenticeren als zichzelf. In deze situatie zullen de limieten voor de gebruiker worden ingesteld op basis van de gebruikersklasse die is opgegeven bij de eerste poging (bijvoorbeeld het maximale aantal processen of de grootte van het geheugen voor een proces). Deze methode werkt alleen voor het lenen van limieten van niet-bevoegde gebruikers, aangezien voor de root-gebruiker aanwezigheid in de wheel-groep vereist is.

Daarnaast kan worden vermeld implementation in OpenBSD is een nieuwe methode voor het verifiëren van de geldigheidscontrole van systeemaanroepen geïntroduceerd, die het moeilijker maakt om kwetsbaarheden te exploiteren. Deze methode staat systeemaanroepen alleen toe als ze worden aangesproken vanuit vooraf geregistreerde geheugengebieden. Voor het markeren van geheugengebieden is een nieuwe systeemaanroep msyscall().

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster