CVE:CVE-2002-1296
CNNVD: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()对'../'字符缺少正确处理，可导致本地攻击者利用这个漏洞指定任意目录中的模块进行装载，或在核心态下执行任意代码。
solution:Upgrade sun solaris to a higher version than 2.6,7.0,8.0,9.0,and avoid the version 2.6,7.0,8.0,9.0; Upgrade sun sunos to a higher version than 5.5.1,5.7,5.8,and avoid the version 5.5.1,5.7,5.8