
A széles körben(külső hivatkozás) használt curl és libcurl projekt(külső hivatkozás) csapata bejelentette (külső hivatkozás)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(külső hivatkozás): HIGH súlyosságú(külső hivatkozás) (érinti mind a libcurl-t, mind a curl programot)
- CVE-2023-38546(külső hivatkozás): LOW súlyosságú(külső hivatkozás) (csak a libcurl-t érinti, nem a curl programot)
A magas besorolású CVE-2023-38545 (külső hivatkozás)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(külső hivatkozás):
- curl: add support for the IPFS protocols via HTTP gateway(külső hivatkozás)
- curl_multi_get_handles: get easy handles from a multi handle(külső hivatkozás)
- mingw: delete support for legacy mingw.org toolchain(külső hivatkozás)
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:
- Curl 8.4.0 - Proactively Identifying Potential Vulnerable Assets(külső hivatkozás)
- CVE-2023-38545, CVE-2023-38546: Frequently Asked Questions(külső hivatkozás)
- CVE-2023-38545: "The worst curl security flaw in a long time"(külső hivatkozás)
- Severity HIGH security problem to be announced with curl 8.4.0(külső hivatkozás)
