发布日期:2010-04-02
更新日期:2010-04-08
受影响系统:
Linux kernel 2.6.x
不受影响系统:
Linux kernel 2.6.29-rc6
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 39186
CVE ID: CVE-2010-1148
Linux Kernel是开放源码操作系统Linux所使用的内核
Linux Kernel的fs/cifs/dir.c文件中的cifs_create()函数存在空指针引用错误。在支持unix扩展(如Samba)的服务器上创建文件时,如果所创建的文件没有提供nameidata(nd为空),cifs客户端在调用cifs_posix_open时就会崩溃。
<*来源:Eugene Teo (eugeneteo@eugeneteo.net)
链接:
https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=579445
*>
建议:
--------------------------------------------------------------------------------
厂商补丁:
Linux
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
已有第三方提供以下非官方补丁:
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index e9f7ecc..eef8d83 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -317,7 +317,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
else
oflags = FMODE_READ;
- if (tcon->unix_ext && (tcon->ses->capabilities & CAP_UNIX) &&
+ if (nd && tcon->unix_ext && (tcon->ses->capabilities & CAP_UNIX) &&
(CIFS_UNIX_POSIX_PATH_OPS_CAP &
le64_to_cpu(tcon->fsUnixInfo.Capability))) {
rc = cifs_posix_open(full_path, &newinode, nd->path.mnt,本安全漏洞由