Vulnerabbiltà fil-libreriji tan-netwerk tal-lingwi Rust u Go li tippermettilek tevita l-verifika tal-indirizz IP

Vulnerabbiltajiet relatati mal-ipproċessar mhux korrett tal-indirizzi IP b'ċifri ottali fil-funzjonijiet tal-parsing tal-indirizzi ġew identifikati fil-libreriji standard tal-lingwi Rust u Go. Il-vulnerabbiltajiet jagħmluha possibbli li jiġu evitati l-kontrolli għal indirizzi validi fl-applikazzjonijiet, pereżempju, biex jiġi organizzat l-aċċess għal indirizzi tal-interface loopback (127.xxx) jew subnets tal-intranet meta jsiru attakki SSRF (falsifikazzjoni ta’ rikjesti min-naħa tas-Server). Il-vulnerabbiltajiet ikomplu ċ-ċiklu ta' problemi identifikati qabel fil-libreriji node-netmask (JavaScript, CVE-2021-28918, CVE-2021-29418), private-ip (JavaScript, CVE-2020-28360), ipaddress (Python, CVE- 2021-29921 ), Data::Validate::IP (Perl, CVE-2021-29662) u Net::Netmask (Perl, CVE-2021-29424).

Skont l-ispeċifikazzjoni, il-valuri tas-sekwenza tal-indirizz IP li jibdew b'żero għandhom jiġu interpretati bħala numri ottali, iżda ħafna libreriji ma jqisux dan u sempliċement jarmu ż-żero, u jittrattaw il-valur bħala numru deċimali. Pereżempju, in-numru 0177 f'ottal huwa ugwali għal 127 f'deċimali. Attakkant jista' jitlob riżors billi jispeċifika l-valur "0177.0.0.1", li f'notazzjoni deċimali jikkorrispondi għal "127.0.0.1". Jekk tintuża l-librerija problematika, l-applikazzjoni ma tiskoprix li l-indirizz 0177.0.0.1 jinsab fis-subnet 127.0.0.1/8, iżda fil-fatt, meta tibgħat talba, tista’ taċċessa l-indirizz “0177.0.0.1”, li l- funzjonijiet tan-netwerk se jipproċessaw bħala 127.0.0.1. B'mod simili, tista 'tqarraq bil-kontroll tal-aċċess għall-indirizzi tal-intranet billi tispeċifika valuri bħal "012.0.0.1" (ekwivalenti għal "10.0.0.1").

F'Rut, il-librerija standard "std::net" kienet affettwata minn kwistjoni (CVE-2021-29922). Il-parser tal-indirizz IP ta 'din il-librerija warrab żero qabel il-valuri fl-indirizz, iżda biss jekk ma ġewx speċifikati aktar minn tliet ċifri, pereżempju, "0177.0.0.1" jiġi pperċepit bħala valur invalidu, u riżultat żbaljat tiġi rritornata bi tweġiba għal 010.8.8.8 u 127.0.026.1. L-applikazzjonijiet li jużaw std::net::IpAddr meta jiġu analizzati indirizzi speċifikati mill-utent huma potenzjalment suxxettibbli għal attakki SSRF (falsifikazzjoni ta’ rikjesta min-naħa tas-server), RFI (Inklużjoni ta’ Fajl Remot) u LFI (Inklużjoni ta’ Fajl Lokali). Il-vulnerabbiltà ġiet iffissata fil-fergħa Rust 1.53.0.

Vulnerabbiltà fil-libreriji tan-netwerk tal-lingwi Rust u Go li tippermettilek tevita l-verifika tal-indirizz IP

F'Go, il-librerija standard "net" hija affettwata (CVE-2021-29923). Il-funzjoni inkorporata net.ParseCIDR taqbeż iż-żeri ewlenin qabel in-numri ottali minflok tipproċessahom. Pereżempju, attakkant jista 'jgħaddi l-valur 00000177.0.0.1, li, meta ċċekkjat fil-funzjoni net.ParseCIDR(00000177.0.0.1/24), se jiġi analizzat bħala 177.0.0.1/24, u mhux 127.0.0.1/24. Il-problema timmanifesta ruħha wkoll fil-pjattaforma Kubernetes. Il-vulnerabbiltà hija ffissata fir-rilaxx Go 1.16.3 u beta 1.17.

Vulnerabbiltà fil-libreriji tan-netwerk tal-lingwi Rust u Go li tippermettilek tevita l-verifika tal-indirizz IP


Sors: opennet.ru

Żid kumment