Vulnerabilitéiten an OpenSMTPD déi Remote a lokalen Root Zougang erlaben

Qualys Company opgedeckt eng aner kritesch Remote Schwachstelle (CVE-2020-8794) am Mailserver OpenSMTPD, entwéckelt vum OpenBSD Projet. Wéi déi Enn Januar identifizéiert Schwachstelle, eng nei Ausgab mécht et méiglech, arbiträr Shell-Kommandoen op engem Server mat root Benotzerrechter op afstand auszeféieren. Schwachstelle eliminéiert am Thema OpenSMTPD 6.6.4p1.

De Problem gëtt duerch e Feeler am Code verursaacht, deen E-Mail un de Remote-Mail-Server liwwert (net am Code deen erakommen Verbindungen handhabt). Den Attack ass méiglech souwuel op der Client Säit wéi och op der Server Säit. Op der Client Säit ass d'Attack méiglech an der Standardkonfiguratioun vun OpenSMTPD, an där OpenSMTPD Ufroen nëmmen op der interner Netzwierkinterface (localhost) akzeptéiert a Mail Messagen un extern Serveren schéckt. Fir d'Schwachheet auszenotzen, ass et genuch datt, während der Liwwerung vun engem Bréif, OpenSMTPD eng Sessioun mat engem Mail-Server, deen vum Ugräifer kontrolléiert gëtt, opstellt, oder datt den Ugräifer an d'Clientverbindung (MITM oder Viruleedung während Attacken iwwer DNS oder BGP) keile kann. ).

Fir e Server-Säit Attack, OpenSMTPD muss konfiguréiert ginn fir extern Reseau Ufroe vun anere Mail Serveren ze kréien oder drëtt-Partei Servicer déngen, datt Dir eng Demande un eng arbiträr E-Mail schécken erlaabt (Zum Beispill, Adress Confirmatiouns Formen op Websäite). Zum Beispill kann en Ugräifer mam OpenSMTPD-Server verbannen an e falsche Bréif schécken (un en net existente Benotzer), wat zu enger Äntwert féiert, déi e Bréif mat engem Fehlercode (Bounce) op den Server vum Ugräifer schéckt. En Ugräifer kann d'Schwachheet ausnotzen wann OpenSMTPD verbënnt fir eng Notifikatioun un den Server vum Ugräifer ze liwweren. D'Shellbefehle, déi während der Attack injizéiert sinn, ginn an enger Datei plazéiert, déi mat Rootrechter ausgefouert gëtt wann OpenSMTPD nei gestart gëtt, sou datt den Ugräifer op OpenSMTPD waart fir nei ze starten oder e Crash vun OpenSMTPD ze initiéieren fir den Attack ofzeschléissen.

De Problem ass an der mta_io () Funktioun am Code präsent fir d'Multiline-Äntwert ze analyséieren, déi vum Fernserver zréckkomm ass nodeems eng Verbindung etabléiert ass (zum Beispill "250-ENHANCEDSTATUSCODES" an "250 HELP"). OpenSMTPD berechent datt déi éischt Zeil eng dräi-Zifferen Nummer an Text enthält, getrennt vun engem "-" Charakter, an déi zweet Zeil enthält eng dräi-Zifferen Nummer an Text getrennt vun engem Raum. Wann eng dräi-Zifferen Nummer net vun engem Raum an Text an der zweeter Zeil gefollegt ass, gëtt de Pointer benotzt fir den Text ze definéieren op de Byte no dem '\0' Charakter gesat an et gëtt probéiert d'Donnéeën nom Enn ze kopéieren vun der Linn an de Puffer.

Op Ufro vum OpenBSD-Projet ass d'Publikatioun vun Detailer iwwer d'Ausbeutung vun der Schwachstelle bis de 26. Februar verspéit ginn, fir datt d'Benotzer hir Systemer aktualiséieren. De Problem ass zënter Dezember 2015 an der Codebase präsent, awer d'Ausbeutung virum Code Ausféierung mat Root Privilegien ass zënter Mee 2018 méiglech. D'Fuerscher hunn e funktionnéierende Prototyp vum Exploit virbereet, deen erfollegräich getest gouf an OpenSMTPD Builds fir OpenBSD 6.6, OpenBSD 5.9, Debian 10, Debian 11 (Test) a Fedora 31.

An OpenSMTPD och identifizéiert Eng aner Schwachstelle (CVE-2020-8793) déi e lokale Benotzer erlaabt déi éischt Zeil vun all Datei um System ze liesen. Zum Beispill kënnt Dir déi éischt Zeil vun /etc/master.passwd liesen, déi de Passwuerthash vum root Benotzer enthält. D'Schwachheet erlaabt Iech och de ganzen Inhalt vun enger Datei am Besëtz vun engem anere Benotzer ze liesen, wann dës Datei am selwechte Dateiesystem ass wéi den /var/spool/smtpd/ Verzeichnis. De Problem ass net exploitabel op ville Linux Verdeelungen, wou de Wäert vun /proc/sys/fs/protected_hardlinks op 1 gesat ass.

De Problem ass eng Konsequenz vun onkomplett Eliminatioun Problemer, gestëmmt wärend dem Audit, dee vu Qualys am 2015 gemaach gouf. En Ugräifer kann d'Ausféierung vu sengem Code mat de Rechter vun der "_smtpq" Grupp erreechen andeems Dir d'"PATH =." Variabel setzt. a placéiert e Skript mam Numm makemap am aktuellen Verzeechnes (de smtpctl Utility leeft makemap ouni explizit de Wee ze spezifizéieren). Andeems Dir Zougang zu der Grupp "_smtpq" kritt, kann den Ugräifer dann e Rennbedéngung verursaachen (eng grouss Datei am Offline Verzeichnis erstellen an e SIGSTOP Signal schéckt) an, ier d'Veraarbechtung fäerdeg ass, d'Datei am offline Verzeichnis ersetzen mat engem Hard Symlink weist op d'Zildatei, deem säin Inhalt gelies muss ginn.

Et ass bemierkenswäert datt am Fedora 31 d'Schwachheet Iech erlaabt direkt d'Privilegien vun der Root-Grupp ze kréien, well de smtpctl-Prozess mam Setgid Root-Fändel ausgestatt ass, anstatt dem Setgid smtpq Fändel. Andeems Dir Zougang zu der Root-Grupp kritt, kënnt Dir den Inhalt vun /var/lib/sss/mc/passwd iwwerschreiwe a voll Root-Zougang zum System kréien.

Source: opennet.ru

Setzt e Commentaire