CVE-2002-1296
CVSS7.2
发布时间 :2002-12-23 00:00:00
修订时间 :2016-10-17 22:25:39
NMCOS    

[原文]Directory traversal vulnerability in priocntl system call in Solaris does allows local users to execute arbitrary code via ".." sequences in the pc_clname field of a pcinfo_t structure, which cause priocntl to load a malicious kernel module.


[CNNVD]Solaris priocntl系统调用设计错误导致权限提升漏洞(CNNVD-200212-061)

        
        Solaris是一款由Sun Microsystems公司开发和维护的商业UNIX操作系统。
        Solaris中的priocntl在调用参数时对用户的数据缺少正确过滤,本地攻击者可以利用这个漏洞无需ROOT权限指定加载任意内核模块,或在核心态下执行任意代码。
        Solaris中的priocntl系统调用用于进程切换控制,其调用方法如下:
        long priocntl(idtype_t idtype, id_t id, int cmd, /* arg */ ...);
        当'cmd'参数设置为PC_GETCID时,就会加载第四个参数所指定的模块,而priocntl()调用模块的时候没有任何权限的检查。priocntl系统调用加载内核模块的缺省路径是kernel/sched和/usr/kernel/sched(除非你在/etc/system文件中指定的其他路径),虽然这两个路径只有ROOT权限可读,我们不能写这两个目录来指定自己的模块,但是,由于priocntl()对'../'字符缺少正确处理,可导致本地攻击者利用这个漏洞指定任意目录中的模块进行装载,或在核心态下执行任意代码。
        

- CVSS (基础分值)

CVSS分值: 7.2 [严重(HIGH)]
机密性影响: COMPLETE [完全的信息泄露导致所有系统文件暴露]
完整性影响: COMPLETE [系统完整性可被完全破坏]
可用性影响: COMPLETE [可能导致系统完全宕机]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: LOCAL [漏洞利用需要具有物理访问权限或本地帐户]
身份认证: NONE [漏洞利用无需身份认证]

- CPE (受影响的平台与产品)

cpe:/o:sun:solaris:2.5.1
cpe:/o:sun:solaris:7.0
cpe:/o:sun:solaris:8.0::x86
cpe:/o:sun:solaris:7.0::x86
cpe:/o:sun:solaris:2.6
cpe:/o:sun:solaris:8.0
cpe:/o:sun:solaris:9.0::sparc

- OVAL (用于检测的技术细节)

oval:org.mitre.oval:def:3637priocntl Directory Traversal Vulnerability
*OVAL详细的描述了检测该漏洞的方法,你可以从相关的OVAL定义中找到更多检测该漏洞的技术细节。

- 官方数据库链接

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-1296
(官方数据源) MITRE
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2002-1296
(官方数据源) NVD
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-200212-061
(官方数据源) CNNVD

- 其它链接及资源

http://marc.info/?l=bugtraq&m=103842619803173&w=2
(UNKNOWN)  BUGTRAQ  20021127 Solaris priocntl exploit
http://sunsolve.Sun.COM/pub-cgi/retrieve.pl?doc=fsalert/49131
(VENDOR_ADVISORY)  CONFIRM  http://sunsolve.Sun.COM/pub-cgi/retrieve.pl?doc=fsalert/49131
http://www.iss.net/security_center/static/10717.php
(VENDOR_ADVISORY)  XF  solaris-priocntl-pcclname-modules(10717)
http://www.kb.cert.org/vuls/id/683673
(VENDOR_ADVISORY)  CERT-VN  VU#683673
http://www.securityfocus.com/bid/6262
(UNKNOWN)  BID  6262

- 漏洞信息

Solaris priocntl系统调用设计错误导致权限提升漏洞
高危 设计错误
2002-12-23 00:00:00 2005-10-12 00:00:00
本地  
        
        Solaris是一款由Sun Microsystems公司开发和维护的商业UNIX操作系统。
        Solaris中的priocntl在调用参数时对用户的数据缺少正确过滤,本地攻击者可以利用这个漏洞无需ROOT权限指定加载任意内核模块,或在核心态下执行任意代码。
        Solaris中的priocntl系统调用用于进程切换控制,其调用方法如下:
        long priocntl(idtype_t idtype, id_t id, int cmd, /* arg */ ...);
        当'cmd'参数设置为PC_GETCID时,就会加载第四个参数所指定的模块,而priocntl()调用模块的时候没有任何权限的检查。priocntl系统调用加载内核模块的缺省路径是kernel/sched和/usr/kernel/sched(除非你在/etc/system文件中指定的其他路径),虽然这两个路径只有ROOT权限可读,我们不能写这两个目录来指定自己的模块,但是,由于priocntl()对'../'字符缺少正确处理,可导致本地攻击者利用这个漏洞指定任意目录中的模块进行装载,或在核心态下执行任意代码。
        

- 公告与补丁

        临时解决方法:
        如果您不能立刻安装补丁或者升级,CNNVD建议您采取以下措施以降低威胁:
        * Casper Dik <Casper.Dik@Sun.COM>提供如下临时解决方法:
        由于"pc_clname[]"参数限制了大小,用下面的脚本可以防止这个特殊漏洞
        for dir in /kernel /usr/kernel
        do
         cd $dir
         mkdir -p a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p
         mv sched a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p
         ln -s a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/sched .
        done
        厂商补丁:
        Sun
        ---
        Sun已经为此发布了一个安全公告(Sun-Alert-49131):
        Sun-Alert-49131:Security Vulnerability Involving the priocntl(2) System Call
        链接:
        http://sunsolve.sun.com/pub-cgi/retrieve.pl?doctype=coll&doc=secbull/Alert-49131&type=0&nav=sec.sba

        补丁下载:
        目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新补丁

- 漏洞信息

8712
Solaris priocntl Arbitrary Kernel Module Loading

- 漏洞描述

Unknown or Incomplete

- 时间线

2002-11-27 Unknow
Unknow Unknow

- 解决方案

Unknown or Incomplete

- 相关参考

- 漏洞作者

Unknown or Incomplete

- 漏洞信息

Solaris priocntl() System Call Local Root Vulnerability
Design Error 6262
No Yes
2002-11-27 12:00:00 2009-07-11 07:16:00
Discovery of this vulnerability credited to CatDog.

- 受影响的程序版本

Sun Solaris 2.5.1
Sun Solaris 9_x86
Sun Solaris 9
Sun Solaris 8_x86
Sun Solaris 8_sparc
Sun Solaris 7.0_x86
Sun Solaris 7.0
Sun Solaris 2.6_x86
Sun Solaris 2.6

- 漏洞讨论

A directory traversal vulnerability has been discovered in priocntl() when accessing a module. It has been reported that priocntl() fails to sanitize module names specified in the pc_clname buffer. By supplying the function with a module name prepended with dot-dot-slash sequences (../), it is possible to load a module from an arbitrary location.

- 漏洞利用

An exploit has been released by c4td0g.

http://www.catdogsoft.com/S8EXP/flkm.c
http://www.catdogsoft.com/S8EXP/final.c

CORE has developed a working commercial exploit for their IMPACT product. This exploit is not otherwise publicly available or known to be circulating in the wild.

- 解决方案

Sun is aware of this vulnerability. Symantec has been informed that this issue will be addressed in Solaris 10 and patches for earlier versions are currently being developed.

The following fixes are available:


Sun Solaris 2.6

Sun Solaris 7.0

Sun Solaris 8_x86

Sun Solaris 2.6_x86

Sun Solaris 8_sparc

Sun Solaris 9

Sun Solaris 9_x86

Sun Solaris 7.0_x86

- 相关参考

 

 

关于SCAP中文社区

SCAP中文社区是国内第一个以SCAP为主题的中文开放社区。了解更多信息,请查阅[关于本站]

版权声明

CVE/CWE/OVAL均为MITRE公司的注册商标,它们的官方数据源均保存在MITRE公司的相关网站