В популярном cron демоне Vixie Cron, используемом во многих Linux дистрибутивах, обнаружена (http://www.securityfocus.com/bid/18108) возможность запуска локальным пользователем процесса с повышенными привилегиями (root).
Для использования уязвимости злоумышленник должен создать ситуацию, когда в момент запуска очередного cron задания, перед его выполнением сработают системные ограничения ресурсов заданные через pam_limits.
Уязвимости подвержен Vixie crond до версии 4.1 включительно.
Проверить наличие проблемы можно следующим способом (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=178431):
- В /etc/security/limits.conf добавляем "username hard nproc 10"
- Раскомментируем строку с pam_limits.so в файле /etc/pam.d/crond
- Добавляем в crontab задание: * * * * * /path/to/script.plгде script.pl:
#!/usr/bin/perl
open file, '>/path/to/pid.'.$$;
close file;
while(1) { sleep(1); }
- Через "ps aux" ждем когда запустится 10 экземпляров script.pl, следующие - будут видны как запущенные от root.URL: http://www.securityfocus.com/bid/18108
Новость: http://www.opennet.me/opennews/art.shtml?num=7606
OMFG!
Вот это дырень! Просто труба.
а может дырка в pam'e?
обьясните плз
Вообще бред какой-то....=/
В bugzilla на redhat дыра известна с 2006-01-20...Они докопали что ошибка была в pam(после 10 форков - "continues to allow the pam_open_session to succeed" (с))(читай - процесс появлялся) и в vixie-cron - который не проверял возвращаемое значение собственного setuid()-а и поэтому процесс оставался под рутом...Сейчас же в CVE написали практически то же самое, что и в багзилле у редхата, но на 5 месяцев позже...
"do_command.c in Vixie cron (vixie-cron) 4.1 does not check the return code of a setuid call, which might allow local users to gain root privileges if setuid fails in cases such as PAM failures or resource limits." (с) CVE
http://bugs.gentoo.org/show_bug.cgi?id=134194