Buffer Iwwerschwemmung am Curl a Libcurl, manifestéiert beim Zougang duerch e SOCKS5 Proxy

Eng Schwachstelle (CVE-2023-38545) gouf am Utility identifizéiert fir Daten iwwer de Curl-Netz an d'Libcurl-Bibliothéik ze kréien an ze schécken, déi parallel entwéckelt gëtt, wat zu engem Puffer-Iwwerfluss a potenziell Ausféierung vum Ugräifercode op d'Clientsäit, wann se mat dem Curl-Utility oder enger Applikatioun mat libcurl zougänglech ass, op en HTTPS-Server deen vum Ugräifer kontrolléiert gëtt. De Problem erschéngt nëmme wann den Zougang iwwer e SOCKS5 Proxy am Curl aktivéiert ass. Wann Dir direkt ouni Proxy Zougang hutt, erschéngt d'Schwachstelle net. D'Vulnerabilitéit ass an der Curl 8.4.0 Verëffentlechung fixéiert. De Sécherheetsfuerscher, deen de Käfer entdeckt huet, krut eng Belounung vun $ 4660 als Deel vun der Hackerone Internet Bug Bounty Initiativ.

D'Schwachstelle gëtt duerch e Feeler am Hostnumm-Resolutiounscode verursaacht ier Dir op de SOCKS5 Proxy zougitt. Wann den Hostnumm bis zu 256 Zeeche laang ass, gëtt de Curl den Numm direkt un de SOCKS5 Proxy fir d'Resolutioun op senger Säit, a wann den Numm méi wéi 255 Zeechen ass, wiesselt se op de lokalen Resolver a gitt déi scho definéiert Adress un SOCKS5 . Wéinst engem Fehler am Code kann de Fändel, deen d'Noutwendegkeet vun der lokaler Resolutioun ugeet, op de falsche Wäert gesat ginn während der lueser Verhandlunge vun enger SOCKS5 Verbindung, wat dozou gefouert huet datt e laange Hostnumm op e Puffer geschriwwe gouf fir d'IP Adress ze späicheren. oder Numm, net méi wéi 255 Zeechen.

De Besëtzer vun engem Site, dee vum Curl duerch e SOCKS5 Proxy zougänglech ass, kann e Client-Säit Puffer Iwwerfluss ausléisen andeems en Ufro Redirect Code (HTTP 30x) zréckkënnt an den Header "Location:" op eng URL mat engem Hostnumm am Beräich vun 16 erop setzt. bis 64 KB (16 KB ass d'Mindestgréisst déi néideg ass fir den zougewisenen Puffer ze iwwerloossen, a 65 KB ass déi maximal erlaabt Hostnummlängt an enger URL). Wann Ufro Viruleedung an de Libcurl Astellungen aktivéiert ass an de SOCKS5 Proxy benotzt ass lues genuch, da gëtt de laange Hostnumm op e klenge Puffer geschriwwe ginn, offensichtlech vun enger méi klenger Gréisst.

D'Vulnerabilitéit beaflosst haaptsächlech Uwendungen baséiert op libcurl a erschéngt am Curl Utility nëmmen wann Dir d'Optioun "--limit-rate" benotzt mat engem Wäert manner wéi 65541 - libcurl allocéiert par défaut e Puffer vu 16 KB an der Gréisst, an am Curl Utility. et ass 100 KB, awer dëst ännert d'Gréisst jee no dem Wäert vum "-limit-rate" Parameter.

Den Daniel Stenberg, den Auteur vum Projet, erwähnt datt d'Schwachheet fir 1315 Deeg onentdeckt bliwwen ass. Et seet och datt 41% vu virdru identifizéierte Schwachstelle am Curl méiglecherweis vermeide kënne ginn wann de Curl an enger Erënnerungssécherer Sprooch geschriwwe wier, awer et gi keng Pläng fir Curl an eng aner Sprooch an absehbarer Zukunft ëmzeschreiwen. Als Moossname fir d'Sécherheet vun der Codebasis ze verbesseren, gëtt proposéiert d'Tools fir Code ze testen a méi aktiv Ofhängegkeeten ze benotzen déi a Programméierungssprooche geschriwwe sinn, déi sécher Operatioun mat Erënnerung garantéieren. Et berécksiichtegt och d'Méiglechkeet fir Deeler vum Curl graduell ze ersetzen mat Optiounen, déi a séchere Sprooche geschriwwe sinn, sou wéi den experimentellen Hyper HTTP Backend am Rust implementéiert.

Source: opennet.ru

Setzt e Commentaire