发布日期:2006-02-07
更新日期:2006-02-07
受影响系统:
QNX Neutrino RTOS 6.3.0
描述:
QNX Neutrino RTOS是嵌入系统中所使用的实时操作系统。
QNX Neutrino RTOS的fontsleuth工具实现上存在漏洞,本地攻击者可能利用此漏洞在主机上以root用户权限执行任意指令。
QNX Neutrino RTOS的fontsleuth命令中存在格式串处理漏洞。setuid程序fontsleuth在处理第0号参数时,字符串最终传送给了格式化的打印函数,但没有提供格式标识符。这允许攻击者使用类似于%n和%hn的危险格式标识符写入任意内存区域,覆盖储存的返回地址或几个函数指针。
以下调试器dump显示成功利用这个漏洞的攻击:
Loaded symbols for /usr/qnx630/target/qnx6/x86/lib/libc.so.2
#0 0xb033ec7e in _Putfld () from /usr/qnx630/target/qnx6/x86/lib/libc.so.2
(gdb) x/i $pc
0xb033ec7e <_Putfld+1082>: mov %ax,(%edx)
(gdb) i r eax edx
eax 0x4142 16706
edx 0x51525354 1364349780
攻击者控制了EAX和EDX,因此可以覆盖任意内存位置。成功利用这个漏洞的本地攻击者可以以root用户权限执行任意指令。
建议:
临时解决方法:
* 清除fontsleuth工具的setuid位或去除其一般用户执行权限。
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:http://www.qnx.com/