Linux Kernel Samba共享本地权限提升漏洞
发布日期:2004-02-09
更新日期:2004-02-13
受影响系统:Linux kernel 2.6.1-rc2
Linux kernel 2.6.1-rc1
Linux kernel 2.6-test9-CVS
Linux kernel 2.6-test9
Linux kernel 2.6-test8
Linux kernel 2.6-test7
Linux kernel 2.6-test6
Linux kernel 2.6-test5
Linux kernel 2.6-test4
Linux kernel 2.6-test3
Linux kernel 2.6-test2
Linux kernel 2.6-test11
Linux kernel 2.6-test10
Linux kernel 2.6-test1
Linux kernel 2.6
描述:
BUGTRAQ ID:
9619
CVE(CAN) ID:
CVE-2004-0186
Linux Kernel Samba是用于共享的应用系统。
当执行远程Samba共享系统上的文件时没有进行充分完整性检查,本地攻击者可以利用这个漏洞提升权限。
问题存在于smbmnt中,当安装Samba事,部分Linux系统以SETUID ROOT属性安装,由于执行共享系统上的文件时缺少充分完整检查,任何拥有本地帐户的攻击者如果他们可以设置一个Samba服务器并能从目标机器上挂接,就可能获得root用户权限。
<*来源:Martin Fiala (
digri@dik.cvut.cz)
链接:
http://marc.theaimsgroup.com/?l=bugtraq&m=107636290906296&w=2
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 以下是Urban Widmark提供的没经过测试的针对2.6.3-rc1 Kernel的补丁:
diff -urN -X exclude linux-2.6.3-rc1-orig/fs/smbfs/proc.c linux-2.6.3-rc1-smbfs/fs/smbfs/proc.c
- --- linux-2.6.3-rc1-orig/fs/smbfs/proc.c Mon Feb 9 19:08:39 2004
+++ linux-2.6.3-rc1-smbfs/fs/smbfs/proc.c Mon Feb 9 21:43:08 2004
@@ -546,7 +546,8 @@
#define MAX_FILE_MODE 6
static mode_t file_mode[] = {
- - S_IFREG, S_IFDIR, S_IFLNK, S_IFCHR, S_IFBLK, S_IFIFO, S_IFSOCK
+ S_IFREG, S_IFDIR, S_IFLNK, S_IFREG /* S_IFCHR */, S_IFREG /* S_IFBLK */,
+ S_IFIFO, S_IFSOCK
};
static int smb_filetype_to_mode(u32 filetype)
@@ -567,9 +568,9 @@
if (mode & S_IFLNK)
return UNIX_TYPE_SYMLINK;
if (mode & S_IFCHR)
- - return UNIX_TYPE_CHARDEV;
+ return UNIX_TYPE_FILE /* UNIX_TYPE_CHARDEV */ ;
if (mode & S_IFBLK)
- - return UNIX_TYPE_BLKDEV;
+ return UNIX_TYPE_FILE /* UNIX_TYPE_BLKDEV */ ;
if (mode & S_IFIFO)
return UNIX_TYPE_FIFO;
if (mode & S_IFSOCK)
@@ -1834,6 +1835,7 @@
static void
smb_finish_dirent(struct smb_sb_info *server, struct smb_fattr *fattr)
{
+ fattr->f_mode &= ~(S_ISGID | S_ISUID);
if (fattr->f_unix)
return;
厂商补丁:
Linux
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.kernel.org/浏览次数:3240
严重程度:0(网友投票)