Kerentanan jauh dina tumpukan OpenBSD IPv6

Dina prosés latar tukang slaacd, anu tanggung jawab pikeun konfigurasi otomatis alamat IPv6 (IPv6 Stateless Address Autoconfiguration, RFC 4862) dina OpenBSD, kerentanan parantos diidentifikasi anu nyababkeun mumbul panyangga nalika nampi iklan router IPv6 anu dirancang khusus (RA, Iklan Router). .

Mimitina, pungsi konfigurasi otomatis alamat IPv6 dilaksanakeun dina tingkat kernel, tapi dimimitian ku OpenBSD 6.2 ieu dipindahkeun ka prosés slaacd unprivileged misah. Proses ieu tanggung jawab pikeun ngirim pesen RS (Router Solicitation) sareng nga-parsing RA (Router Advertisement) réspon kalayan inpormasi ngeunaan parameter router sareng sambungan jaringan.

Dina bulan Pebruari, slaacd ngalereskeun bug anu nyababkeun kacilakaan upami 7 server ditunjuk dina daptar RDNSS (Recursive DNS Servers). pangawasan ieu narik perhatian peneliti bebas anu nyoba nalungtik kode slaacd pikeun kasalahan séjén anu lumangsung nalika parsing widang dina seratan RA. Analisis némbongkeun yén aya masalah sejen dina kode, nu manifests sorangan nalika ngolah DNSSL (DNS Search Daptar) widang, nu ngawengku daptar ngaran domain na témplat host pikeun DNS.

Unggal ngaran dina daptar DNSSL dikodekeun maké null delimiter jeung intervening tag hiji-bait nu nangtukeun ukuran data nu kieu. Kerentanan disababkeun ku kanyataan yén dina daptar kode parsing, widang anu ukuranana disalin kana variabel kalayan tipe integer anu ditandatanganan ("len = data[pos]"). Sasuai, lamun nilai dieusian dina widang jeung set bit paling signifikan, nilai ieu bakal katarima dina operator kondisional salaku angka négatip jeung pariksa keur ukuran allowable maksimum ("lamun (len> 63 || len + pos). + 1 > datalen) {“) moal jalan, nu bakal ngakibatkeun panggero pikeun memcpy kalawan parameter anu ukuranana data disalin ngaleuwihan ukuran panyangga.

Kerentanan jauh dina tumpukan OpenBSD IPv6
Kerentanan jauh dina tumpukan OpenBSD IPv6


sumber: opennet.ru

Tambahkeun komentar