Отдалечена уязвимост в IPv6 стека на OpenBSD

В фоновия процес slaacd, който отговаря в OpenBSD за автоматичната конфигурация на IPv6 адреси (IPv6 Stateless Address Autoconfiguration, RFC 4862), е открита уязвимост, която води до препълване на буфера при получаване на специално форматиран анонс на маршрутизатора IPv6 (RA, Router Advertisement).

Първоначално функционалността за автоматична конфигурация на IPv6 адреси беше реализирана на ниво ядро, но от OpenBSD 6.2 тя беше изнесена в отделен непривилегирован процес slaacd. Този процес отговаря за изпращане на съобщения RS (Router Solicitation) и обработка на отговорите RA (Router Advertisement) с информация за маршрутизатора и параметрите на мрежовото свързване.

През февруари в slaacd беше поправена грешка, водеща до аварийно приключване при задаване на 7 сървъри в списъка RDNSS (Recursive DNS Servers). Подобно закъснение привлече вниманието на независими изследователи, които се опитаха да проучат кода на slaacd за други грешки, възникващи при обработка на полета в съобщенията RA. Анализът показа, че в кода има още един проблем, проявяващ се при обработка на полето DNSSL (DNS Search List), включващо списъци домейни имена и шаблони на хостове за DNS.

Всяко име в списъка DNSSL се кодира, използвайки разделител с нулев код и междинни еднобайтови етикети, определящи размера на следващите данни. Уязвимостта е причинена от това, че в кода за обработка на списъка полето с размера се копира в променлива със знаков тип integer ("len = data[pos]"). Съответно, при указване на стойност в полето с зададен старши бит, тази стойност ще бъде възприета в условния оператор като отрицателно число и проверката за максималния допустим размер ("if (len > 63 || len + pos + 1 > datalen) {") няма да сработи, което ще доведе до извикване на memcpy с параметър, при който размерът на копираните данни надвишава размера на буфера.

Отдалечена уязвимост в IPv6 стека на OpenBSD
Отдалечена уязвимост в IPv6 стека на OpenBSD


Източник: opennet.ru
Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster