Описание:
Наличием CD-Writer'а в наше время никого не удивишь. В Linux за нарезку дисков отвечает утилита /usr/bin/cdrecord, которой отдают команды внешние программы-оболочки. По умолчанию на бинарнике нет суид-бита, но обычному юзеру резать диски запрещено. Поэтому пользователи сами ставят +s на исполняемый файл, ведь в иксах они сидят под обычной учетной записью. Данная бага актуальна лишь для рабочих станций.
Уязвимость довольно банальная ошибка форматной строки при выдаче сообщения. Если ты изучал принципы срыва стека, то знаешь, что выполнить шелл, используя эту багу, особого труда не составляет. Эксплоит полностью написан на Perl и актуален лишь для диапазона версий 1.11a-2.0.
Защита:
Как утверждают багоискатели, защититься от format-string баги можно разными путями. Например, обновить версию cdtools. Или заменить в сорцах (файл liscg/scsiopen.c) строку под номером 273 на js_snprintf(errs, slen, «%s», scgp->errstr);. И самое последнее убрать суидный бит с файла cdrecord :).
Ссылки:
Скачать Perl-эксплоит для cdrecord можно по адресу http://www.security.nnov.ru/files/priv8cdr.pl. Подробнее прочитать про уязвимость можно здесь: http://security.nnov.ru/search/document.asp?docid=4525.