د زنګ او ګو ژبو د شبکې کتابتونونو کې زیانمنتیا چې تاسو ته اجازه درکوي د IP پتې تایید بای پاس کړئ

د آدرس پارس کولو فنکشنونو کې د آکټل ډیجیټونو سره د IP پتې غلط پروسس کولو پورې اړوند زیانونه د Rust او Go ژبو معیاري کتابتونونو کې پیژندل شوي. زیانمننې دا ممکنه کوي چې په غوښتنلیکونو کې د باوري پتې لپاره د چکونو څخه تېر شي، د بیلګې په توګه، د لوپ بیک انٹرفیس پتې (127.xxx) یا د انټرانیټ فرعي نیټونو ته د السرسي تنظیم کول کله چې د SSRF (د سرور اړخ غوښتنه جعل) بریدونه ترسره کوي. زیانمننې د ستونزو دوره ته دوام ورکوي چې مخکې په کتابتونونو کې پیژندل شوي نوډ-نیټماسک (جاواسکریپټ، CVE-2021-28918، CVE-2021-29418)، شخصي-ip (جاوا سکریپټ، CVE-2020-28360)، ipaddress (CVE-2021) 29921-2021 )، ډاټا::Validate::IP (Perl, CVE-29662-2021) او Net::Netmask (Perl, CVE-29424-XNUMX).

د مشخصاتو له مخې، د IP پتې سټرینګ ارزښتونه چې له صفر سره پیل کیږي باید د اوکټل شمیرو په توګه تشریح شي، مګر ډیری کتابتونونه دا په پام کې نه نیسي او په ساده ډول صفر ردوي، ارزښت د لسیزې شمیرې په توګه درملنه کوي. د مثال په توګه، په octal کې 0177 شمیره د 127 په لسیزه کې مساوي ده. یو برید کوونکی کولی شي د "0177.0.0.1" ارزښت په ټاکلو سره د سرچینې غوښتنه وکړي، کوم چې په لسیزه کې د "127.0.0.1" سره مطابقت لري. که ستونزه لرونکی کتابتون کارول شوی وي، غوښتنلیک به ونه موندل شي چې پته 0177.0.0.1 په 127.0.0.1/8 کې ده، مګر په حقیقت کې، کله چې غوښتنه لیږل کیږي، دا کولی شي "0177.0.0.1" پتې ته لاسرسی ومومي، کوم چې د شبکې فعالیتونه به د 127.0.0.1 په توګه پروسس شي. په ورته ډول ، تاسو کولی شئ د "012.0.0.1" (د "10.0.0.1" سره مساوي) ارزښتونو مشخص کولو سره د انټرانیټ پتې ته د لاسرسي چیک غلا کړئ.

په Rust کې، معیاري کتابتون "std::net" د یوې مسلې لخوا اغیزمن شوی (CVE-2021-29922). د دې کتابتون IP پتې پارسر په پته کې د ارزښتونو څخه مخکې صفر رد کړ، مګر یوازې که چیرې له دریو څخه زیاتې شمیرې نه وي مشخص شوي، د بیلګې په توګه، "0177.0.0.1" به د غلط ارزښت په توګه وپیژندل شي، او غلط پایله به وي. د 010.8.8.8 او 127.0.026.1 په ځواب کې به بیرته راستانه شي. هغه غوښتنلیکونه چې std::net::IpAddr کاروي کله چې د کارونکي لخوا مشخص شوي پتې پارس کوي په بالقوه توګه د SSRF (د سرور اړخ غوښتنې جعل)، RFI (د لرې فایل شاملول) او LFI (د ځایی فایل شاملول) بریدونو ته حساس دي. زیانمنتیا په Rust 1.53.0 څانګه کې ټاکل شوې وه.

د زنګ او ګو ژبو د شبکې کتابتونونو کې زیانمنتیا چې تاسو ته اجازه درکوي د IP پتې تایید بای پاس کړئ

په Go کې، معیاري کتابتون "نیټ" اغیزمن شوی (CVE-2021-29923). د net.ParseCIDR جوړ شوی فنکشن د پروسس کولو پرځای د اوکټل شمیرو دمخه مخکښ صفر پریږدي. د مثال په توګه، یو برید کوونکی کولی شي د 00000177.0.0.1 ارزښت تیر کړي، کوم چې کله چې په net.ParseCIDR(00000177.0.0.1/24) فنکشن کې چک شي، د 177.0.0.1/24 په توګه پارس شي، نه 127.0.0.1/24. ستونزه هم پخپله د کوبرنیټس پلیټ فارم کې څرګندیږي. زیانمنتیا په Go ریلیز 1.16.3 او بیټا 1.17 کې ثابته شوې.

د زنګ او ګو ژبو د شبکې کتابتونونو کې زیانمنتیا چې تاسو ته اجازه درکوي د IP پتې تایید بای پاس کړئ


سرچینه: opennet.ru

Add a comment