0-lā Linux IPv6 hoʻopaʻa haʻahaʻa e hiki ai i ka ulia kernel mamao

Ua hōʻike ʻia ka ʻike e pili ana i kahi nāwaliwali ʻole (0-lā) (CVE-2023-2156) ma ka Linux kernel e hiki ai ke hoʻōki i ka ʻōnaehana ma o ka hoʻouna ʻana i nā ʻeke IPv6 i hana ʻia (packet-of-death). ʻIke wale ʻia ka pilikia ke hoʻohana ʻia ke kākoʻo no ka protocol RPL (Routing Protocol for Low-Power and Lossy Networks), kahi i hoʻopaʻa ʻole ʻia ma ka paʻamau i ka hoʻohele ʻana a hoʻohana nui ʻia i nā mea i hoʻopili ʻia e hana ana i nā ʻuena uila me ka pohō kiʻekiʻe.

Hoʻokumu ʻia ka nāwaliwali ma muli o ka lawelawe hewa ʻana o ka ʻikepili waho i ka code parsing protocol RPL, kahi e alakaʻi ai i kahi hōʻoia ʻole a hele ka kernel i kahi kūlana panic. I ka waiho ʻana i ka ʻikepili i loaʻa ma muli o ka pau ʻana o ka IPv6 RPL packet header i loko o ka k_buff (Socket Buffer), inā ua hoʻonohonoho ʻia ke kahua CmprI i 15, ua hoʻonohonoho ʻia ke kahua Segleft i 1, a ua hoʻonohonoho ʻia ʻo CmprE i 0, ʻo ka vector 48-byte me nā helu wahi i wehe ʻia i ka 528 bytes a ʻaʻole i lawa ka hoʻomanaʻo ʻana i ke kūlana. I kēia hihia, ʻo ka hana skb_push i hoʻohana ʻia no ka pana ʻana i ka ʻikepili i loko o ka hale e hoʻoulu i kahi nānā no ka nui disproportionate o ka ʻikepili a me ka buffer, e hana ana i kahi kūlana panic e pale ai i ke kākau ʻana ma luna o ka palena pale.

Hoʻohana i ka laʻana: # E hoʻohana mākou iā Scapy e hana i ka ʻeke mai ka scapy.all import * import socket # E hoʻohana i ka IPv6 mai kāu interface LAN DST_ADDR = sys.argv[1] SRC_ADDR = DST_ADDR # Hoʻohana mākou i nā kumu no ka hoʻouna ʻana i ka ʻeke.socket = 6 hana kēia i RPL packet # Addresses loaʻa nā helu 3, akā no ka CmprI he 3, # kēlā me kēia octet o nā helu mua ʻelua e mālama ʻia ma ke ʻano he helu i hoʻopili ʻia # Segleft = 15 e hoʻomaka ai i ka amplification # lastentry = 1xf0 hoʻonohonoho CmprI i 0 a CmprE i 15 p = dp = DDR0(sADDRrc) SegmentRouting(type=6, addresses=["a6::", "a3::", "a8::"], segleft=7, lastentry=6xf1) # E hoʻouna i kēia pūʻolo hewa sockfd.sendto(bytes(p), (DST_ADDR, 0))

Hoʻomaopopo ʻia ua hoʻolaha ʻia nā mea hoʻomohala kernel i ka nāwaliwali i Ianuali 2022 a i nā mahina he 15 i hala iho nei ua hoʻāʻo lākou e hoʻoponopono i ka pilikia ʻekolu manawa ma ka hoʻokuʻu ʻana i nā patch i Kepakemapa 2022, ʻOkakopa 2022 a me ʻApelila 2023, akā i kēlā me kēia manawa ʻaʻole lawa nā hoʻoponopono a hiki i ka nāwaliwali ke hana hou. ʻO ka mea hope loa, ua hoʻoholo ka papahana ZDI, nāna i hoʻonohonoho i ka hana e hoʻopau i ka nāwaliwali, e hōʻike i ka ʻike kikoʻī e pili ana i ka nāwaliwali, me ke kali ʻole i kahi papa hana e ʻike ʻia i ka kernel.

No laila, ʻaʻole i hoʻopaʻa ʻia ka vulnerability. ʻAʻole maikaʻi ka hoʻokomo ʻana i ka patch i loko o ka 6.4-rc2 kernel. Manaʻo ʻia nā mea hoʻohana e hōʻoia ʻaʻole hoʻohana ʻia ka protocol RPL ma kā lākou ʻōnaehana, hiki ke hana ʻia me ka hoʻohana ʻana i ka sysctl -a | grep -i rpl_seg_enabled

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka