В DNS-сервере BIND устранен серьёзный сбой, возникший из-за изменений в оптимизаторе GCC

Доступны корректирующие выпуски DNS-сервера BIND 9.10.0-P2, 9.9.5-P1 и 9.8.7-P1, в которых устранена серия уязвимостей и решена проблема, способная привести к краху процесса в непредсказуемые моменты обработки запросов. Примечательно, что проблема проявляется только при сборке с использованием GCC 4.9.0 и более новых выпусков и вызвана изменением работы оптимизатора GCC. В частности, начиная с GCC 4.9 по умолчанию включается режим удаления лишних операций сравнения с указателями NULL, при использовании которого из-за удаления из кода важных для работы проверок в BIND начинают проявляться непредсказуемые проблемы в работе. Для решения проблемы следует обеспечить сборку BIND с опцией «CFLAGS=-fno-delete-null-pointer-checks». Кроме отмеченной проблемы, в новых выпусках устранена порция DoS-уязвимостей:

CVE-2014–3859 (только BIND 9.10) — крах при обработке специально оформленных EDNS-пакетов (механизм работы с пакетами, размером более 512 байт); CVE-2014–3214 (только BIND 9.10) — крах в процессе использования технологии prefetch; CVE-2013–6230 (только BIND 9.9) — ошибочный расчёт нулевых масок в localnets acl на платформе Windows; CVE 2014–0591 (только BIND 9.9) — крах при обработке некоторых подписанных зон NSEC3.

© OpenNet