安全研究
安全漏洞
QNX Neutrino RTOS libph PHOTON_PATH环境变量缓冲区溢出漏洞
发布日期:2006-02-07
更新日期:2006-02-07
受影响系统:
QNX Neutrino RTOS 6.3.0描述:
QNX Neutrino RTOS是一种嵌入式系统所使用的实时操作系统。
QNX Neutrino RTOS的libph实现上存在缓冲区溢出漏洞,成功利用这个漏洞的本地攻击者可能以root用户权限执行任意指令。
QNX Neutrino RTOS没有正确地处理libph系统函数库中的环境变量。具体的说,setitem()函数在进行strcpy操作之前没有对PHOTON_PATH环境变量执行边界检查。攻击者可以向PHOTON_PATH提供超长的字符串溢出栈缓冲区,覆盖返回地址,如下所示:
Breakpoint 1, 0xb0343624 in strcpy ()
from /usr/qnx630/target/qnx6/x86/lib/libc.so.2
(gdb) bt
#0 0xb0343624 in strcpy () from /usr/qnx630/target/qnx6/x86/lib/libc.so.2
#1 0xb826f58b in setitem ()
from /usr/qnx630/target/qnx6/x86/usr/lib/libph.so.3
#2 0xb826f7ec in additems ()
from /usr/qnx630/target/qnx6/x86/usr/lib/libph.so.3
#3 0xb826ffa9 in list_modify ()
from /usr/qnx630/target/qnx6/x86/usr/lib/libph.so.3
#4 0xb82ef2fe in PtSetValue ()
from /usr/qnx630/target/qnx6/x86/usr/lib/libph.so.3
#5 0xb82c7ceb in PtCompoundSetResources ()
from /usr/qnx630/target/qnx6/x86/usr/lib/libph.so.3
#6 0xb82ed018 in PtSetResources ()
from /usr/qnx630/target/qnx6/x86/usr/lib/libph.so.3
#7 0xb8244bf3 in set_list_res ()
from /usr/qnx630/target/qnx6/x86/usr/lib/libph.so.3
#8 0xb82ef2fe in PtSetValue ()
from /usr/qnx630/target/qnx6/x86/usr/lib/libph.so.3
#9 0xb82c7ceb in PtCompoundSetResources ()
from /usr/qnx630/target/qnx6/x86/usr/lib/libph.so.3
#10 0xb82ed018 in PtSetResources ()
from /usr/qnx630/target/qnx6/x86/usr/lib/libph.so.3
#11 0x0804db32 in main ()
#12 0x44444444 in ?? ()
<*来源:Filipe Balestra (filipe@balestra.com.br)
链接:http://idefense.com/intelligence/vulnerabilities/display.php?id=382
*>
建议:
临时解决方法:
* 清除任何链接到libph.so.3的程序的setuid位:
# ls -l /usr/photon/bin/phlocale
-rwsrwxr-x 1 root root 54244 May 05 2004 /usr/photon/bin/phlocale
# ldd /usr/photon/bin/phlocale
/usr/photon/bin/phlocale:
libAp.so.3 => /usr/lib/libAp.so.3 (0xb8200000)
libph.so.3 => /usr/lib/libph.so.3 (0xb8210000)
libphrender.so.2 => /usr/lib/libphrender.so.2 (0xb8312000)
libm.so.2 => /lib/libm.so.2 (0xb8347000)
libfont.so.1 => /lib/libfont.so.1 (0xb8363000)
libc.so.2 => /usr/lib/ldqnx.so.2 (0xb0300000)
# chmod -s /usr/photon/bin/phlocale
厂商补丁:
QNX
---
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.qnx.com/
浏览次数:3581
严重程度:0(网友投票)
绿盟科技给您安全的保障
