Te whakaraeraetanga i roto i nga whare pukapuka whatunga o nga reo Rust me Go ka taea e koe te karo i te manatoko wāhitau IP

Ko nga whakaraeraetanga e pa ana ki te tukatuka hē o nga wahitau IP me nga mati octal i roto i nga mahi porotiti wahitau kua kitea i roto i nga whare pukapuka paerewa o nga reo Rust and Go. Ko nga whakaraeraetanga ka taea te karo i nga arowhai mo nga wahitau whaimana i roto i nga tono, hei tauira, ki te whakarite i te uru ki nga wahitau atanga whakamuri (127.xxx) ranei ki nga ipurangirotoroto i te wa e kawe ana i nga whakaeke SSRF (Te taha o te taha tūmau) whakaeke. Ko nga whakaraeraetanga kei te haere tonu te huringa o nga raru kua tohua i mua i roto i nga whare pukapuka node-netmask (JavaScript, CVE-2021-28918, CVE-2021-29418), private-ip (JavaScript, CVE-2020-28360), ipaddress (Python, CVE- 2021-29921 ), Raraunga ::Whakamana ::IP (Perl, CVE-2021-29662) me Net::Netmask (Perl, CVE-2021-29424).

E ai ki nga korero, ko nga uara aho IP IP ka tiimata mai i te kore me whakamaori he nama octal, engari he maha nga wharepukapuka kaore e aro ki tenei ka peia noa te kore, ka kiia te uara hei tau ira. Hei tauira, ko te nama 0177 i roto i te octal he rite ki te 127 i roto i te ira. Ka taea e te tangata whakaeke te tono rauemi ma te tohu i te uara "0177.0.0.1", kei roto i te tohu ira e rite ana ki te "127.0.0.1". Mena ka whakamahia te whare pukapuka raruraru, kaore te tono e kitea ko te wahitau 0177.0.0.1 kei roto i te kupengaroto 127.0.0.1/8, engari i te wa e tuku tono ana, ka taea e ia te uru atu ki te wahitau "0177.0.0.1" Ko nga mahi whatunga ka tukatuka hei 127.0.0.1. Waihoki, ka taea e koe te tinihanga i te haki mo te uru ki nga wahitau ipurangiroto ma te tohu i nga uara penei i te "012.0.0.1" (he rite ki te "10.0.0.1").

I roto i te Rust, ko te whare pukapuka paerewa "std::net" i pangia e tetahi take (CVE-2021-29922). I makahia e te kaiparo wahitau IP o tenei whare pukapuka te kore i mua i nga uara o te wahitau, engari mena kaore i neke ake i te toru nga mati i tohua, hei tauira, "0177.0.0.1" ka kiia he uara muhu, he hua he. ka whakahokia mai hei whakautu ki 010.8.8.8 me 127.0.026.1. Ko nga tono e whakamahi ana i te std::net::IpAddr i te wa e porohi ana i nga wahitau kua tohua e te kaiwhakamahi ka tupono pea ki nga whakaeke SSRF (Te taha-Server-te-tahae tono), RFI (Whakauru Kōnae Mamao) me LFI (Whakauru Kōnae Rohe). I whakatikahia te whakaraeraetanga i te peka Rust 1.53.0.

Te whakaraeraetanga i roto i nga whare pukapuka whatunga o nga reo Rust me Go ka taea e koe te karo i te manatoko wāhitau IP

I roto i te Haere, ka pa te whare pukapuka paerewa "kupenga" (CVE-2021-29923). Ko te net.ParseCIDR hanga-i roto i te mahi ka peke i nga tohu kore i mua i nga tau octal, kaua ki te tukatuka. Hei tauira, ka taea e te kaitukino te tuku i te uara 00000177.0.0.1, ka tirohia i roto i te mahi net.ParseCIDR(00000177.0.0.1/24), ka poroa hei 177.0.0.1/24, kaua ko te 127.0.0.1/24. Ka kitea ano te raru ki te papaaho Kubernetes. Kua whakaritea te whakaraeraetanga i roto i te Go tuku 1.16.3 me te beta 1.17.

Te whakaraeraetanga i roto i nga whare pukapuka whatunga o nga reo Rust me Go ka taea e koe te karo i te manatoko wāhitau IP


Source: opennet.ru

Tāpiri i te kōrero