رسٽ ۽ گو ٻولين جي نيٽ ورڪ لائبريرين ۾ ڪمزوري جيڪا توهان کي IP پتي جي تصديق کي نظرانداز ڪرڻ جي اجازت ڏئي ٿي

IP پتي جي غلط پروسيسنگ سان لاڳاپيل خطرن جي نشاندهي ڪئي وئي آڪٽل انگن سان گڏ ايڊريس پارسنگ فنڪشنز جي معياري لائبريرين ۾ رسٽ ۽ گو ٻولين جي. ڪمزورين کي ايپليڪيشنن ۾ صحيح پتي جي چڪاس کي نظرانداز ڪرڻ ممڪن بڻائي ٿو، مثال طور، لوپ بڪ انٽرفيس ايڊريس (127.xxx) يا انٽرانيٽ سبنيٽس تائين پهچ کي منظم ڪرڻ جڏهن SSRF (سرور-سائڊ درخواست جعلي) حملن کي کڻندا آهن. ڪمزورين مسئلن جي چڪر کي جاري رکنديون آهن جيڪي اڳ ۾ لائبريرين ۾ سڃاڻپ ٿيل آهن نوڊ نيٽ ماسڪ (JavaScript, CVE-2021-28918, CVE-2021-29418), پرائيويٽ-ip (JavaScript, CVE-2020-28360), ipaddress (CVE-2021) 29921-2021)، ڊيٽا::تصديق ڪريو::IP (Perl، CVE-29662-2021) ۽ نيٽ::Netmask (Perl، CVE-29424-XNUMX).

وضاحت جي مطابق، صفر سان شروع ٿيندڙ IP پتي جي اسٽرنگ جي قدرن کي آڪٽل نمبرن جي طور تي تعبير ڪيو وڃي، پر ڪيتريون ئي لائبريريون ان کي حساب ۾ نه وٺنديون آهن ۽ صرف صفر کي رد ڪري ڇڏيندا آهن، قيمت کي ڊيسيمل نمبر جي طور تي علاج ڪندي. مثال طور، نمبر 0177 octal ۾ 127 جي برابر آهي decimal ۾. هڪ حملو ڪندڙ "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" جي برابر) قدر بيان ڪندي انٽرنيٽ پتي تائين رسائي جي چيڪ کي ٺڳي سگهو ٿا.

مورچا ۾، معياري لائبريري "std::net" هڪ مسئلي کان متاثر ٿي (CVE-2021-29922). هن لائبريري جي IP ايڊريس پارسر ايڊريس ۾ موجود قدرن کان اڳ صفر کي رد ڪري ڇڏيو، پر صرف ان صورت ۾ جيڪڏهن ٽن انگن کان وڌيڪ نه بيان ڪيو ويو هجي، مثال طور، "0177.0.0.1" کي غلط قدر سمجهيو ويندو، ۽ هڪ غلط نتيجو. 010.8.8.8 ۽ 127.0.026.1 جي جواب ۾ واپس ڪيو ويندو. ايپليڪيشنون جيڪي استعمال ڪن ٿيون std::net::IpAddr جڏهن صارف جي مخصوص ايڊريس پارس ڪنديون آهن SSRF (سرور-سائڊ درخواست جي جعلسازي)، RFI (ريموٽ فائل انڪوشن) ۽ LFI (مقامي فائل شموليت) حملن لاءِ امڪاني طور تي حساس آهن. رسٽ 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. مسئلو پڻ پاڻ کي ظاهر ڪري ٿو Kubernetes پليٽ فارم ۾. گو رليز 1.16.3 ۽ بيٽا 1.17 ۾ خطري کي مقرر ڪيو ويو آهي.

رسٽ ۽ گو ٻولين جي نيٽ ورڪ لائبريرين ۾ ڪمزوري جيڪا توهان کي IP پتي جي تصديق کي نظرانداز ڪرڻ جي اجازت ڏئي ٿي


جو ذريعو: opennet.ru

تبصرو شامل ڪريو