Найдена уязвимость в FTP серверах
Писать программы практически на любом языке становится всё проще и проще. Всё дело в огромном количестве полезных библиотек. Вот помнится как в CP/M и в первых версиях DOS чтобы прочитать содержимое файла надо было разобраться с огромным количеством функций и параметров. Чего только стоила легендарная структура File Control Block, при неправильном заполнении которой система летела во мрак со скоростью пикирующего бомбардировщика. Но сейчас библиотек стало больше, они стали проще, стали даже порой оперировать объектами. И работа с файлами, да и со всеми остальными устройствами как реальными и виртуальными стала отходить на второй план. Программисты пользуются ими как черными ящиками, полностью доверяя написанному каким-то чужим дядей коду.
В принципе ничего плохого в этом нет. Но бывает что проверенные-перепроверенные библиотеки содержат ошибки, иногда явные, а иногда закопанные так что находят их только через несколько лет. И вот на сайте SecurityReason опубликована давнишняя ошибка в библиотеке libc. Ошибка найдена в функции glob(), служащей для проверки совпадает ли название файла с введенным пользователем шаблоном. Функция широко используется в FTP серверах, что при формировании специального запроса приводит к росту потребления памяти и зависанию всего сервера.
Ошибке подвержены все основные сервера работающие под всеми Unix-подобными операционными системами. Так что в ближайшие 2-3 дня можно ждать массового убийства FTP серверов крупных и мелких компаний. Специально для школьников выложены даже исходные коды эксплойта.
Но есть и хорошие новости. Разработчики NetBSD уже выпустили патч закрывающий данную дыру. А любимый мной сервер vsftp вообще не подвержен данной уязвимости.
