Уязвимость CVE-2005-1513 была раскрыта в 2005 году, но до сих пор остается неисправленной.
Специалисты компании Qualys нашли способ эксплуатации известной (и очень старой) уязвимости в безопасном агенте доставки почты Qmail, позволяющий как локальное, так и удаленное выполнение кода.
Уязвимость CVE-2005-1513 была раскрыта в 2005 году исследователем безопасности Георгием Гунинским (Georgi Guninski) наряду с еще двумя (CVE-2005-1514 и CVE-2005-1515). В то время создатель Qmail Даниэль Бернштейн (Daniel J. Bernstein) утверждал, что уязвимости невозможно проэксплуатировать в ПО с настройками по умолчанию, поскольку «потребление памяти у каждого процесса qmail-smtpd строго ограничено». В связи с этим исправления так и не были выпущены.
Спустя 15 лет специалисты Qualys решили провести повторный аудит безопасности Qmail и обнаружили, что уязвимости также затрагивают процесс qmail-local, доступный удаленно и без ограничений потребления памяти по умолчанию. Следовательно, их можно проэксплуатировать.
«Мы исследовали множество пакетов Qmail, и все (*all*) они ограничивают память qmail-smtpd, но ни один (*none*) не ограничивает память qmail-local», - сообщили в Qualys.
Специалисты также создали PoC-эксплоит для локального и удаленного выполнения кода через уязвимость CVE-2005-1513 в пакете Qmail для Debian с настройками по умолчанию. Эксплоит требует 4 ГБ свободного места на диске и 8 ГБ памяти и позволяет выполнить shell-команду с привилегиями любого пользователя, за исключением суперпользователя. Исследователи пообещали опубликовать его в скором времени.
Бернштейн выпустил Qmail в 1998 году, и последним стабильным релизом была версия 1.03. С тех пор несколько раз осуществлялся форк агента (s/qmail, netqmail, notqmail), выпускались патчи (новые функции от сторонних разработчиков), а сам агент неоднократно использовался на различных платформах.
Как сообщил Бернштейн, он запускает каждую службу qmail с ограниченным потреблением памяти и рекомендует остальным делать то же самое. Это ограничение может быть настроено в скриптах запуска всех служб qmail и предотвращает использование вышеупомянутых уязвимостей.
Qualys выпустила собственное исправление для уязвимостей, вшив в функцию alloc() строгие ограничения потребления памяти.
Разбираем кейсы, делимся опытом, учимся на чужих ошибках