Описание:
19 мая на bugtraq-лентах появился документ, гласящий о переполнении буфера в программе CVS (Concurrent Version Systems). Демон CVS очень распространен и устанавливается на серверах почти всех разработчиков opensource-проектов (к примеру, на cvs.apache.org).
С технической точки зрения баг довольно прост. Это обычный buffer overflow. Склонность к переполнению была найдена при анализе строки, посылаемой серверу. В некоторых случаях ее длина не проверялась, к тому же было установлено, что память выделяется не под всю строку, а с некоторым запасом. Грамотно составленный запрос позволял хакеру повторно обратиться к функции. С каждым вызовом злоумышленник перезаписывал в память произвольные данные и мог затем обратиться к ним. Существует эксплойт как для FreeBSD, так и для Linux. Самый первый исходник вообще был заточен под Солярку. Для правильной работы требуется наличие библиотек компрессии, поэтому собирай сырец с флагом -lz.
Защита:
Защититься от бага можно единственным путем обновить версию демона. Напоминаю, что уязвимыми являются релизы до 1.11.15 включительно.
Ссылки:
Скачать эксплойт в ознакомительных целях можно по ссылке www.xakep.ru/post/22450/cvs_linux_freebsd_HEAP.txt. Версию для Соляры бери тут: www.xakep.ru/post/22450/cvs_solaris_HEAP.txt. С технической стороной вопроса можно также ознакомиться на нашем сайте: www.xakep.ru/post/22428/default.asp.