В FreeBSD Пет уязвимости, които включват проблеми, които потенциално могат да доведат до перезапис на данни на ниво ядро при изпращане на определени мрежови пакети или позволяват на локален потребител да повиши своите привилегии. Уязвимостите са коригирани в актуализациите 12.1-RELEASE-p5 и 11.3-RELEASE-p9.
Най-опасната уязвимост () е причинена от липсата на адекватна проверка на размера на пакета в библиотеката libalias при анализ на специфични за протоколите заглавия. Библиотеката libalias се използва в пакетния филтър ipfw за транслация на адреси и включва типични функции за подмяна на адреси в IP пакети и анализ на протоколи. Уязвимостта позволява чрез изпращане на специално оформен мрежови пакет да се постигне четене или запис на данни в областта на паметта на ядрото (при използване на реализация на NAT в ядрото) или процеса
natd (при използване на реализация на NAT в пространството на потребителя). Проблемът не засяга конфигурации на NAT, изградени с помощта на пакетни филтри pf и ipf, както и конфигурации ipfw, при които не се използва NAT.
Други уязвимости:
- — още една отдалечено експлоатируема уязвимост в libalias, свързана с неправилно изчисляване на дължината на пакетите в обработвача FTP. Проблемът е ограничен до изтичане на съдържание на няколко байта данни от областта на паметта на ядрото или процеса natd.
- — уязвимост в модула cryptodev, причинена от достъп до вече освободена област от паметта (use-after-free), и позволяваща на непривилегирован процес да презаписва произволни участъци от паметта на ядрото. Като обходен път за блокиране на уязвимостта се препоръчва да се разтовари модулът cryptodev с командата „kldunload cryptodev“, ако е бил зареден (по подразбиране cryptodev не се зарежда). Модулът cryptodev предоставя на приложения от пространството на потребителя достъп до интерфейса /dev/crypto за работа с механизми за хардуерно ускорение на криптографските операции (в AES-NI и OpenSSL /dev/crypto не се използва).
- — вторият уязвимост в cryptodev, позволяваща на непривилегирован потребител да иницира срив на ядрото чрез изпращане на заявка за извършване на криптографска операция с некоректен MAC. Проблемът е причинен от отсъствието на проверка на размера на MAC-ключа при заделяне на буфер за неговото съхранение (буферът е създаден на основата на предоставените от потребителя данни за размера, без проверка на действителния размер).
- — уязвимост в реализацията на протокола SCTP (Stream Control Transmission Protocol), причинена от некоректна проверка на споделения ключ, използван от разширението SCTP-AUTH за автентикация на последователности SCTP. Локално приложение може да обнови ключа чрез Socket API, като същевременно прекъсне SCTP връзката, което води до достъп до вече освободена памет (use-after-free).
Източник: opennet.ru
