Linux Kernel cifs_create()函数空指针引用漏洞

发布日期: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 ([email protected]
 
  链接:http://secunia.com/advisories/39344/
        https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=579445
        http://comments.gmane.org/gmane.linux.file-systems.cifs/5782
*>

建议:
--------------------------------------------------------------------------------
厂商补丁:

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

http://www.kernel.org/

已有第三方提供以下非官方补丁:

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,本安全漏洞由

相关推荐