ID CVE-2009-1961
Summary The inode double locking code in fs/ocfs2/file.c in the Linux kernel 2.6.30 before 2.6.30-rc3, 2.6.27 before 2.6.27.24, 2.6.29 before 2.6.29.4, and possibly other versions down to 2.6.19 allows local users to cause a denial of service (prevention of file creation and removal) via a series of splice system calls that trigger a deadlock between the generic_file_splice_write, splice_from_pipe, and ocfs2_file_splice_write functions.
References
Vulnerable Configurations
  • Linux Kernel 2.6.30 Release Candidate 1
    cpe:2.3:o:linux:linux_kernel:2.6.30:rc1
  • Linux Kernel 2.6.30 Release Candidate 2
    cpe:2.3:o:linux:linux_kernel:2.6.30:rc2
  • Linux Kernel 2.6.27.1
    cpe:2.3:o:linux:linux_kernel:2.6.27.1
  • Linux Kernel 2.6.27.10
    cpe:2.3:o:linux:linux_kernel:2.6.27.10
  • Linux Kernel 2.6.27.11
    cpe:2.3:o:linux:linux_kernel:2.6.27.11
  • Linux Kernel 2.6.27.12
    cpe:2.3:o:linux:linux_kernel:2.6.27.12
  • Linux Kernel 2.6.27.13
    cpe:2.3:o:linux:linux_kernel:2.6.27.13
  • Linux Kernel 2.6.27.14
    cpe:2.3:o:linux:linux_kernel:2.6.27.14
  • Linux Kernel 2.6.27.15
    cpe:2.3:o:linux:linux_kernel:2.6.27.15
  • Linux Kernel 2.6.27.16
    cpe:2.3:o:linux:linux_kernel:2.6.27.16
  • Linux Kernel 2.6.27.17
    cpe:2.3:o:linux:linux_kernel:2.6.27.17
  • Linux Kernel 2.6.27.22
    cpe:2.3:o:linux:linux_kernel:2.6.27.22
  • Linux Kernel 2.6.27.21
    cpe:2.3:o:linux:linux_kernel:2.6.27.21
  • Linux Kernel 2.6.27.20
    cpe:2.3:o:linux:linux_kernel:2.6.27.20
  • Linux Kernel 2.6.27.2
    cpe:2.3:o:linux:linux_kernel:2.6.27.2
  • Linux Kernel 2.6.27.19
    cpe:2.3:o:linux:linux_kernel:2.6.27.19
  • Linux Kernel 2.6.27.18
    cpe:2.3:o:linux:linux_kernel:2.6.27.18
  • Linux Kernel 2.6.27.3
    cpe:2.3:o:linux:linux_kernel:2.6.27.3
  • Linux Kernel 2.6.27.4
    cpe:2.3:o:linux:linux_kernel:2.6.27.4
  • Linux Kernel 2.6.29.3
    cpe:2.3:o:linux:linux_kernel:2.6.29.3
  • cpe:2.3:o:linux:linux_kernel:2.6.29.rc1
    cpe:2.3:o:linux:linux_kernel:2.6.29.rc1
  • cpe:2.3:o:linux:linux_kernel:2.6.29.rc2
    cpe:2.3:o:linux:linux_kernel:2.6.29.rc2
  • cpe:2.3:o:linux:linux_kernel:2.6.29.rc2-git1
    cpe:2.3:o:linux:linux_kernel:2.6.29.rc2-git1
  • cpe:2.3:o:linux:linux_kernel:2.6.29:git1
    cpe:2.3:o:linux:linux_kernel:2.6.29:git1
  • cpe:2.3:o:linux:linux_kernel:2.6.29:rc2_git7
    cpe:2.3:o:linux:linux_kernel:2.6.29:rc2_git7
  • cpe:2.3:o:linux:linux_kernel:2.6.29:rc8-kk
    cpe:2.3:o:linux:linux_kernel:2.6.29:rc8-kk
  • Linux Kernel 2.6.27.23
    cpe:2.3:o:linux:linux_kernel:2.6.27.23
CVSS
Base: 1.9 (as of 08-06-2009 - 14:14)
Impact:
Exploitability:
CWE CWE-362
CAPEC
  • Leveraging Race Conditions
    This attack targets a race condition occurring when multiple processes access and manipulate the same resource concurrently and the outcome of the execution depends on the particular order in which the access takes place. The attacker can leverage a race condition by "running the race", modifying the resource and modifying the normal execution flow. For instance a race condition can occur while accessing a file, the attacker can trick the system by replacing the original file with his version and cause the system to read the malicious file.
  • Leveraging Time-of-Check and Time-of-Use (TOCTOU) Race Conditions
    This attack targets a race condition occurring between the time of check (state) for a resource and the time of use of a resource. The typical example is the file access. The attacker can leverage a file access race condition by "running the race", meaning that he would modify the resource between the first time the target program accesses the file and the time the target program uses the file. During that period of time, the attacker could do something such as replace the file and cause an escalation of privilege.
Access
VectorComplexityAuthentication
LOCAL MEDIUM NONE
Impact
ConfidentialityIntegrityAvailability
NONE NONE PARTIAL
exploit-db via4
description Linux Kernel 2.6.x 'splice(2)' Double Lock Local Denial of Service Vulnerability. CVE-2009-1961. Dos exploit for linux platform
id EDB-ID:33015
last seen 2016-02-03
modified 2009-05-29
published 2009-05-29
reporter Miklos Szeredi
source https://www.exploit-db.com/download/33015/
title Linux Kernel 2.6.x - 'splice2' Double Lock Local Denial of Service Vulnerability
nessus via4
  • NASL family Ubuntu Local Security Checks
    NASL id UBUNTU_USN-793-1.NASL
    description Igor Zhbanov discovered that NFS clients were able to create device nodes even when root_squash was enabled. An authenticated remote attacker could create device nodes with open permissions, leading to a loss of privacy or escalation of privileges. Only Ubuntu 8.10 and 9.04 were affected. (CVE-2009-1072) Dan Carpenter discovered that SELinux did not correctly handle certain network checks when running with compat_net=1. A local attacker could exploit this to bypass network checks. Default Ubuntu installations do not enable SELinux, and only Ubuntu 8.10 and 9.04 were affected. (CVE-2009-1184) Shaohua Li discovered that memory was not correctly initialized in the AGP subsystem. A local attacker could potentially read kernel memory, leading to a loss of privacy. (CVE-2009-1192) Benjamin Gilbert discovered that the VMX implementation of KVM did not correctly handle certain registers. An attacker in a guest VM could exploit this to cause a host system crash, leading to a denial of service. This only affected 32bit hosts. Ubuntu 6.06 was not affected. (CVE-2009-1242) Thomas Pollet discovered that the Amateur Radio X.25 Packet Layer Protocol did not correctly validate certain fields. A remote attacker could exploit this to read kernel memory, leading to a loss of privacy. (CVE-2009-1265) Trond Myklebust discovered that NFS did not correctly handle certain long filenames. An authenticated remote attacker could exploit this to cause a system crash, leading to a denial of service. Only Ubuntu 6.06 was affected. (CVE-2009-1336) Oleg Nesterov discovered that the kernel did not correctly handle CAP_KILL. A local user could exploit this to send signals to arbitrary processes, leading to a denial of service. (CVE-2009-1337) Daniel Hokka Zakrisson discovered that signal handling was not correctly limited to process namespaces. A local user could bypass namespace restrictions, possibly leading to a denial of service. Only Ubuntu 8.04 was affected. (CVE-2009-1338) Pavel Emelyanov discovered that network namespace support for IPv6 was not correctly handled. A remote attacker could send specially crafted IPv6 traffic that would cause a system crash, leading to a denial of service. Only Ubuntu 8.10 and 9.04 were affected. (CVE-2009-1360) Neil Horman discovered that the e1000 network driver did not correctly validate certain fields. A remote attacker could send a specially crafted packet that would cause a system crash, leading to a denial of service. (CVE-2009-1385) Pavan Naregundi discovered that CIFS did not correctly check lengths when handling certain mount requests. A remote attacker could send specially crafted traffic to cause a system crash, leading to a denial of service. (CVE-2009-1439) Simon Vallet and Frank Filz discovered that execute permissions were not correctly handled by NFSv4. A local user could bypass permissions and run restricted programs, possibly leading to an escalation of privileges. (CVE-2009-1630) Jeff Layton and Suresh Jayaraman discovered buffer overflows in the CIFS client code. A malicious remote server could exploit this to cause a system crash or execute arbitrary code as root. (CVE-2009-1633) Mikulas Patocka discovered that /proc/iomem was not correctly initialized on Sparc. A local attacker could use this file to crash the system, leading to a denial of service. Ubuntu 6.06 was not affected. (CVE-2009-1914) Miklos Szeredi discovered that OCFS2 did not correctly handle certain splice operations. A local attacker could exploit this to cause a system hang, leading to a denial of service. Ubuntu 6.06 was not affected. (CVE-2009-1961). Note that Tenable Network Security has extracted the preceding description block directly from the Ubuntu security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2019-02-21
    modified 2018-11-28
    plugin id 39586
    published 2009-07-02
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=39586
    title Ubuntu 6.06 LTS / 8.04 LTS / 8.10 / 9.04 : linux, linux-source-2.6.15 vulnerabilities (USN-793-1)
  • NASL family Mandriva Local Security Checks
    NASL id MANDRIVA_MDVSA-2009-135.NASL
    description Some vulnerabilities were discovered and corrected in the Linux 2.6 kernel : The selinux_ip_postroute_iptables_compat function in security/selinux/hooks.c in the SELinux subsystem in the Linux kernel before 2.6.27.22, and 2.6.28.x before 2.6.28.10, when compat_net is enabled, omits calls to avc_has_perm for the (1) node and (2) port, which allows local users to bypass intended restrictions on network traffic. NOTE: this was incorrectly reported as an issue fixed in 2.6.27.21. (CVE-2009-1184) The exit_notify function in kernel/exit.c in the Linux kernel before 2.6.30-rc1 does not restrict exit signals when the CAP_KILL capability is held, which allows local users to send an arbitrary signal to a process by running a program that modifies the exit_signal field and then uses an exec system call to launch a setuid application. (CVE-2009-1337) The (1) agp_generic_alloc_page and (2) agp_generic_alloc_pages functions in drivers/char/agp/generic.c in the agp subsystem in the Linux kernel before 2.6.30-rc3 do not zero out pages that may later be available to a user-space process, which allows local users to obtain sensitive information by reading these pages. (CVE-2009-1192) The ABI in the Linux kernel 2.6.28 and earlier on s390, powerpc, sparc64, and mips 64-bit platforms requires that a 32-bit argument in a 64-bit register was properly sign extended when sent from a user-mode application, but cannot verify this, which allows local users to cause a denial of service (crash) or possibly gain privileges via a crafted system call. (CVE-2009-0029) The __inet6_check_established function in net/ipv6/inet6_hashtables.c in the Linux kernel before 2.6.29, when Network Namespace Support (aka NET_NS) is enabled, allows remote attackers to cause a denial of service (NULL pointer dereference and system crash) via vectors involving IPv6 packets. (CVE-20090-1360) The inode double locking code in fs/ocfs2/file.c in the Linux kernel 2.6.30 before 2.6.30-rc3, 2.6.27 before 2.6.27.24, 2.6.29 before 2.6.29.4, and possibly other versions down to 2.6.19 allows local users to cause a denial of service (prevention of file creation and removal) via a series of splice system calls that trigger a deadlock between the generic_file_splice_write, splice_from_pipe, and ocfs2_file_splice_write functions. (CVE-2009-1961) Integer underflow in the e1000_clean_rx_irq function in drivers/net/e1000/e1000_main.c in the e1000 driver in the Linux kernel before 2.6.30-rc8, the e1000e driver in the Linux kernel, and Intel Wired Ethernet (aka e1000) before 7.5.5 allows remote attackers to cause a denial of service (panic) via a crafted frame size. (CVE-2009-1385) The nfs_permission function in fs/nfs/dir.c in the NFS client implementation in the Linux kernel 2.6.29.3 and earlier, when atomic_open is available, does not check execute (aka EXEC or MAY_EXEC) permission bits, which allows local users to bypass permissions and execute files, as demonstrated by files on an NFSv4 fileserver. (CVE-2009-1630) Additionally, the kernel package was updated to the Linux upstream stable version 2.6.27.24. To update your kernel, please follow the directions located at : http://www.mandriva.com/en/security/kernelupdate
    last seen 2019-02-21
    modified 2018-07-19
    plugin id 39444
    published 2009-06-18
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=39444
    title Mandriva Linux Security Advisory : kernel (MDVSA-2009:135)
  • NASL family SuSE Local Security Checks
    NASL id SUSE_11_1_KERNEL-090709.NASL
    description The openSUSE 11.1 kernel was updated to fix various bugs and several security issues. It was also updated to the stable release 2.6.27.25. Following security issues were fixed: CVE-2009-1961: A local denial of service problem in the splice(2) system call was fixed. CVE-2009-1389: A crash on r8169 network cards when receiving large packets was fixed. CVE-2009-1385: Integer underflow in the e1000_clean_rx_irq function in drivers/net/e1000/e1000_main.c in the e1000 driver in the Linux kernel, the e1000e driver in the Linux kernel, and Intel Wired Ethernet (aka e1000) before 7.5.5 allows remote attackers to cause a denial of service (panic) via a crafted frame size. CVE-2009-1630: The nfs_permission function in fs/nfs/dir.c in the NFS client implementation in the Linux kernel, when atomic_open is available, does not check execute (aka EXEC or MAY_EXEC) permission bits, which allows local users to bypass permissions and execute files, as demonstrated by files on an NFSv4 fileserver
    last seen 2019-02-21
    modified 2016-12-21
    plugin id 40360
    published 2009-07-24
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=40360
    title openSUSE Security Update : kernel (kernel-1097)
  • NASL family Debian Local Security Checks
    NASL id DEBIAN_DSA-1844.NASL
    description Several vulnerabilities have been discovered in the Linux kernel that may lead to a denial of service or privilege escalation. The Common Vulnerabilities and Exposures project identifies the following problems : - CVE-2009-1385 Neil Horman discovered a missing fix from the e1000 network driver. A remote user may cause a denial of service by way of a kernel panic triggered by specially crafted frame sizes. - CVE-2009-1389 Michael Tokarev discovered an issue in the r8169 network driver. Remote users on the same LAN may cause a denial of service by way of a kernel panic triggered by receiving a large size frame. - CVE-2009-1630 Frank Filz discovered that local users may be able to execute files without execute permission when accessed via an nfs4 mount. - CVE-2009-1633 Jeff Layton and Suresh Jayaraman fixed several buffer overflows in the CIFS filesystem which allow remote servers to cause memory corruption. - CVE-2009-1895 Julien Tinnes and Tavis Ormandy reported an issue in the Linux personality code. Local users can take advantage of a setuid binary that can either be made to dereference a NULL pointer or drop privileges and return control to the user. This allows a user to bypass mmap_min_addr restrictions which can be exploited to execute arbitrary code. - CVE-2009-1914 Mikulas Patocka discovered an issue in sparc64 kernels that allows local users to cause a denial of service (crash) by reading the /proc/iomem file. - CVE-2009-1961 Miklos Szeredi reported an issue in the ocfs2 filesystem. Local users can create a denial of service (filesystem deadlock) using a particular sequence of splice system calls. - CVE-2009-2406 CVE-2009-2407 Ramon de Carvalho Valle discovered two issues with the eCryptfs layered filesystem using the fsfuzzer utility. A local user with permissions to perform an eCryptfs mount may modify the contents of a eCryptfs file, overflowing the stack and potentially gaining elevated privileges.
    last seen 2019-02-21
    modified 2018-11-10
    plugin id 44709
    published 2010-02-24
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=44709
    title Debian DSA-1844-1 : linux-2.6.24 - denial of service/privilege escalation
  • NASL family SuSE Local Security Checks
    NASL id SUSE_11_KERNEL-090704.NASL
    description The SUSE Linux Enterprise 11 kernel was updated to fix various bugs and several security issues. It was also updated to the stable release 2.6.27.25. The following security issues were fixed : - A local denial of service problem in the splice(2) system call was fixed. (CVE-2009-1961) - A crash on r8169 network cards when receiving large packets was fixed. (CVE-2009-1389) - Integer underflow in the e1000_clean_rx_irq function in drivers/net/e1000/e1000_main.c in the e1000 driver in the Linux kernel, the e1000e driver in the Linux kernel, and Intel Wired Ethernet (aka e1000) before 7.5.5 allows remote attackers to cause a denial of service (panic) via a crafted frame size. (CVE-2009-1385) - The nfs_permission function in fs/nfs/dir.c in the NFS client implementation in the Linux kernel, when atomic_open is available, does not check execute (aka EXEC or MAY_EXEC) permission bits, which allows local users to bypass permissions and execute files, as demonstrated by files on an NFSv4 fileserver. (CVE-2009-1630)
    last seen 2019-02-21
    modified 2016-12-21
    plugin id 41412
    published 2009-09-24
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=41412
    title SuSE 11 Security Update : Linux kernel (SAT Patch Number 1086)
  • NASL family SuSE Local Security Checks
    NASL id SUSE_11_KERNEL-090709.NASL
    description The SUSE Linux Enterprise 11 kernel was updated to fix various bugs and several security issues. It was also updated to the stable release 2.6.27.25. The following security issues were fixed : - A local denial of service problem in the splice(2) system call was fixed. (CVE-2009-1961) - A crash on r8169 network cards when receiving large packets was fixed. (CVE-2009-1389) - Integer underflow in the e1000_clean_rx_irq function in drivers/net/e1000/e1000_main.c in the e1000 driver in the Linux kernel, the e1000e driver in the Linux kernel, and Intel Wired Ethernet (aka e1000) before 7.5.5 allows remote attackers to cause a denial of service (panic) via a crafted frame size. (CVE-2009-1385) - The nfs_permission function in fs/nfs/dir.c in the NFS client implementation in the Linux kernel, when atomic_open is available, does not check execute (aka EXEC or MAY_EXEC) permission bits, which allows local users to bypass permissions and execute files, as demonstrated by files on an NFSv4 fileserver. (CVE-2009-1630)
    last seen 2019-02-21
    modified 2016-12-21
    plugin id 41413
    published 2009-09-24
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=41413
    title SuSE 11 Security Update : Linux kernel (SAT Patch Number 1086)
  • NASL family SuSE Local Security Checks
    NASL id SUSE_11_KERNEL-090708.NASL
    description The SUSE Linux Enterprise 11 kernel was updated to fix various bugs and several security issues. It was also updated to the stable release 2.6.27.25. The following security issues were fixed : - A local denial of service problem in the splice(2) system call was fixed. (CVE-2009-1961) - A crash on r8169 network cards when receiving large packets was fixed. (CVE-2009-1389) - Integer underflow in the e1000_clean_rx_irq function in drivers/net/e1000/e1000_main.c in the e1000 driver in the Linux kernel, the e1000e driver in the Linux kernel, and Intel Wired Ethernet (aka e1000) before 7.5.5 allows remote attackers to cause a denial of service (panic) via a crafted frame size. (CVE-2009-1385) - The nfs_permission function in fs/nfs/dir.c in the NFS client implementation in the Linux kernel, when atomic_open is available, does not check execute (aka EXEC or MAY_EXEC) permission bits, which allows local users to bypass permissions and execute files, as demonstrated by files on an NFSv4 fileserver. (CVE-2009-1630)
    last seen 2019-02-21
    modified 2016-12-21
    plugin id 51607
    published 2011-01-21
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=51607
    title SuSE 11 Security Update : Linux kernel (SAT Patch Numbers 1079 / 1087)
  • NASL family Mandriva Local Security Checks
    NASL id MANDRIVA_MDVSA-2009-148.NASL
    description Some vulnerabilities were discovered and corrected in the Linux 2.6 kernel : Buffer overflow in the RTL8169 NIC driver (drivers/net/r8169.c) in the Linux kernel before 2.6.30 allows remote attackers to cause a denial of service (kernel memory corruption and crash) via a long packet. (CVE-2009-1389) The inode double locking code in fs/ocfs2/file.c in the Linux kernel 2.6.30 before 2.6.30-rc3, 2.6.27 before 2.6.27.24, 2.6.29 before 2.6.29.4, and possibly other versions down to 2.6.19 allows local users to cause a denial of service (prevention of file creation and removal) via a series of splice system calls that trigger a deadlock between the generic_file_splice_write, splice_from_pipe, and ocfs2_file_splice_write functions. (CVE-2009-1961) The nfs_permission function in fs/nfs/dir.c in the NFS client implementation in the Linux kernel 2.6.29.3 and earlier, when atomic_open is available, does not check execute (aka EXEC or MAY_EXEC) permission bits, which allows local users to bypass permissions and execute files, as demonstrated by files on an NFSv4 fileserver. (CVE-2009-1630) Integer underflow in the e1000_clean_rx_irq function in drivers/net/e1000/e1000_main.c in the e1000 driver in the Linux kernel before 2.6.30-rc8, the e1000e driver in the Linux kernel, and Intel Wired Ethernet (aka e1000) before 7.5.5 allows remote attackers to cause a denial of service (panic) via a crafted frame size. (CVE-2009-1385) Multiple buffer overflows in the cifs subsystem in the Linux kernel before 2.6.29.4 allow remote CIFS servers to cause a denial of service (memory corruption) and possibly have unspecified other impact via (1) a malformed Unicode string, related to Unicode string area alignment in fs/cifs/sess.c; or (2) long Unicode characters, related to fs/cifs/cifssmb.c and the cifs_readdir function in fs/cifs/readdir.c. (CVE-2009-1633) Additionally, the kernel package was updated to the Linux upstream stable version 2.6.29.6. To update your kernel, please follow the directions located at : http://www.mandriva.com/en/security/kernelupdate
    last seen 2019-02-21
    modified 2019-01-02
    plugin id 48149
    published 2010-07-30
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=48149
    title Mandriva Linux Security Advisory : kernel (MDVSA-2009:148)
redhat via4
advisories
rhsa
id RHSA-2009:1157
refmap via4
bid 35143
confirm http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7bfac9ecf0585962fe13584f5cf526d8c8e76f17
debian DSA-1844
mandriva
  • MDVSA-2009:135
  • MDVSA-2009:148
mlist
  • [oss-security] 20090529 CVE request: kernel: splice local denial of service
  • [oss-security] 20090530 Re: CVE request: kernel: splice local denial of service
  • [oss-security] 20090602 Re: CVE request: kernel: splice local denial of service
  • [oss-security] 20090603 Re: CVE request: kernel: splice local denial of service
sectrack 1022307
secunia
  • 35390
  • 35394
  • 35656
  • 35847
  • 36051
suse
  • SUSE-SA:2009:030
  • SUSE-SA:2009:031
  • SUSE-SA:2009:038
ubuntu USN-793-1
statements via4
contributor Tomas Hoger
lastmodified 2009-07-15
organization Red Hat
statement This issue did not affect the versions of Linux kernel as shipped with Red Hat Enterprise Linux 3, 4, and 5. It was addressed in Red Hat Enterprise MRG via: https://rhn.redhat.com/errata/RHSA-2009-1157.html
Last major update 19-03-2012 - 00:00
Published 07-06-2009 - 21:00
Back to Top