Далечинска ранливост во оџакот OpenBSD IPv6

Во позадинскиот процес slaacd, кој е одговорен за автоматска конфигурација на IPv6 адреса (IPv6 Автоматска конфигурација на адреса без државјанство, RFC 4862) во OpenBSD, идентификувана е ранливост што доведува до прелевање на баферот при примање на специјално дизајнирана реклама за рутер IPv6 (RA, реклама на рутер) .

Првично, функционалноста за автоматска конфигурација на IPv6 адреса беше имплементирана на ниво на јадрото, но почнувајќи со OpenBSD 6.2 беше преместена во посебен непривилегиран slaacd процес. Овој процес е одговорен за испраќање пораки RS (покана за рутер) и парсирање на одговорите RA (Реклама на рутер) со информации за параметрите на рутерот и мрежната врска.

Во февруари, slaacd поправи грешка што предизвика паѓање ако 7 сервери беа наведени во списокот RDNSS (Рекурзивни DNS сервери). Овој превид го привлече вниманието на независните истражувачи кои се обидоа да го испитаат slaacd кодот за други грешки што се појавуваат при парсирање на полињата во RA пораките. Анализата покажа дека има уште еден проблем во кодот, кој се манифестира при обработка на полето DNSSL (DNS Search List), кое вклучува списоци со имиња на домени и шаблони за хостови за DNS.

Секое име во списокот DNSSL е кодирано со користење на нула разграничувач и интервентни ознаки од еден бајт кои ја одредуваат големината на податоците што следат. Ранливоста е предизвикана од фактот што во кодот за парсирање на список, поле со големина се копира во променлива со потпишан цел број тип („len = data[pos]“). Соодветно, ако вредноста е наведена во полето со најзначајно множество на битови, оваа вредност ќе се согледа во условниот оператор како негативен број и проверката за максималната дозволена големина („ако (len > 63 || len + pos + 1 > datalen) {“) нема да работи, што ќе доведе до повик до memcpy со параметар чија големина на копираните податоци ја надминува големината на баферот.

Далечинска ранливост во оџакот OpenBSD IPv6
Далечинска ранливост во оџакот OpenBSD IPv6


Извор: opennet.ru

Додадете коментар