CVE-2017-1000367 is een ernstige wortel Linux beveiligingslek door Qualys Veiligheid ontdekt onderzoekers. De fout bevindt zich in Sudo “get_process_ttyname()” -functie voor Linux en kan leiden tot een gebruiker met Sudo bevoegdheden om opdrachten uit te voeren als root of verheffen privileges naar root.
sudo, of “superuser doen!,” is een programma voor Linux en UNIX waarmee standaard gebruikers specifieke opdrachten uit te voeren als een superuser of root-gebruiker.
CVE-2017-1000367: Details
De functie opent deze functie opent “/proc /[pid]/stat” (man proc) en leest het apparaatnummer van het veld TTY 7 (tty_nr), de onderzoekers verklaren. Het vervelende is dat deze velden zijn gescheiden door een spatie en in het veld 2 (comm, de bestandsnaam van het commando) kunt spaties die in feite het probleem bevatten.
Specifieker:
Bijvoorbeeld, als we uitvoeren Sudo door de symlink “./ 1 “, get_process_ttyname() noemt sudo_ttyname_dev() te zoeken naar de niet-bestaande tty device nummer “1” in de ingebouwde search_devs[]. Volgende, sudo_ttyname_dev() roept de functie sudo_ttyname_scan() om te zoeken naar deze non-existent tty device nummer “1” een breedte-eerst doorlopen van “/dev”.
De kwetsbaarheid komt voort uit de manier waarop Sudo ontleedt “tty” informatie uit het proces-status bestand in het proc bestandssysteem. Op Linux machines, sudo ontleedt de / proc /[pid]/stat-bestand naar het aantal apparaat van tty van het proces van het veld schetsen 7 (tty_nr), zoals in de beveiligingsadvies.
Exploitatie van CVE-2017-1000367
Voor de fout te worden benut, de gebruiker moet al sudo privileges.
SELinux moet ook worden ingeschakeld op het systeem en sudo moet zijn gebouwd met SELinux support, onderzoekers voegen.
Om de bug te exploiteren, de gebruiker kan een apparaat nummer dat momenteel niet bestaat onder / dev kiezen. Als sudo de terminal in de / dev niet vinden / pts directory, voert het een breedte-eerst zoeken naar / dev. Het is mogelijk om een pseudo-terminale na sudo wijzen heeft gecontroleerd / dev / pts maar voordat sudo voert de breedte-first search / dev. De aanvaller kan vervolgens een symbolische link naar de nieuw opgerichte apparaat in een wereld-writable directory onder / dev, zoals / dev / shm.
Dit bestand wordt gebruikt als standaard input van de commando's, output en error wanneer een SELinux rol is aangegeven op het sudo command line. Als de symbolische link onder / dev / shm wordt vervangen met een link naar een ander bestand voordat het wordt geopend door sudo, is het mogelijk om een willekeurig bestand overschrijven door te schrijven naar de standaard uitvoer of standaard fout. Dit kan worden geëscaleerd naar volledige root-toegang door vertrouwde bestand, zoals / etc / shadow of even / etc / sudoers.
How To Fix CVE-2017-1000367
Gelukkig, het probleem wordt verholpen en gepatcht in sudo 1.8.20p1.
Ook, de oplossing voor het ontleden / proc /[pid]/stat een nieuwe regel wordt opgenomen, is opgenomen in sudo 1.8.20p2. Als gevolg van wijzigingen in sudo 1.8.20p1 hoe / dev wordt doorkruist, is het niet mogelijk te exploiteren a / proc /[pid]/stat-bestand dat een nieuwe regel bevat, onderzoekers concluderen.