A széles körben használt curl és libcurl projekt csapata bejelentette a szoftverek 8.4.0-s verzióját amelyben néhány újdonság mellett két biztonsági hiba javítását is elvégezték. A veszélyesebb a CVE-2023-38545 hiba, amely mindkét eszközt érinti és magas besorolást kapott.
Milyen sebezhetőségeket javítottak a curl 8.4.0 verziójában?
Daniel Stenberg curl egyik fejlesztője jelezte, hogy a már megjelent 8.4.0 verzió egy magas CVE súlyosságú és egy alacsony CVE súlyosságú javítást is tartalmaz.
- CVE-2023-38545: HIGH súlyosságú (érinti mind a libcurl-t, mind a curl programot)
- CVE-2023-38546: LOW súlyosságú (csak a libcurl-t érinti, nem a curl programot)
A magas besorolású CVE-2023-38545 hiba lehetővé teszi a curl számára, hogy túlcsorduljon egy heap alapú pufferben a SOCKS5 proxy kapcsolatfelvétel során. Amikor a curl-t arra kérik, hogy továbbítsa a hosztnevet a SOCKS5 proxy-nak, hogy lehetővé tegye a cím feloldását, és ne a curl végezze el, akkor a hosztnév maximális hossza 255 bájt lehet. Ha a hosztnév hosszabb, mint 255 bájt, a curl helyi hosznévfeloldásra vált, és csak a már feloldott címet továbbítja a proxy-nak. Egy hiba miatt a helyi változó, amely azt jelenti, hogy "a hosztnek hagyja, hogy feloldja a nevet", hibás értéket kaphat egy lassú SOCKS5 kapcsolatfelvétel során, és ellentétben a szándékkal, a túl hosszú hosztnévet másolja a célpufferbe, ahelyett hogy csak a feloldott címet másolná oda.
Részletes lista az újdonságokról:
- curl: add support for the IPFS protocols via HTTP gateway
- curl_multi_get_handles: get easy handles from a multi handle
- mingw: delete support for legacy mingw.org toolchain
Ebben a curl kiadásban nincs API vagy ABI változás.
Mi a curl és a libcurl?
A "Client for URL" (vagy "curl") egy sokoldalú, nyílt forráskódú parancssoros eszköz (CLI), amit fájlok átvitelére használnak szerverek között. A curl többféle protokollt ( például SSL, TLS, HTTP, FTP, SMTP és még sok mást) is tud használni, és mögötte a libcurl könyvtár áll, amely több API-t és támogatást biztosít számos hálózati összeköttetést. A fejlesztők és a rendszergazdák gyakran használják azt az API-khoz való kapcsolódáshoz, fájlok letöltéséhez és különböző internetes feladatok közötti automatizáláshoz.
Másrészről, a libcurl a Curl mögötti erőforrás, egy ingyenes, kliensoldali URL átviteli könyvtár, amely támogatja ugyanazt a széleskörű protokollválasztékot. Lehetővé teszi a fejlesztők számára, hogy erős adatátviteli funkcionalitást adjanak alkalmazásaikhoz, biztosítva, hogy szoftverük képes legyen kommunikálni a szerverekkel olyan feladatokhoz, mint HTTP kérések küldése, sütik kezelése és az azonosítás kezelése. Ez nélkülözhetetlen eszközzé teszi a webhez kapcsolódó alkalmazások fejlesztése során.
Mi a különbség a curl és a libcurl között?
A libcurl egy fejlesztői könyvtár (rövidítve "lib"), amely lehetővé teszi más programok számára, hogy használják a curl eszközt, míg a "curl" a CLI eszköz vagy frontend, amit egy parancsfájlból vagy parancssoros ablakból futtatnak.
Források: