CVE Vulnerabilities

CVE-2009-1961

Improper Locking

Published: Jun 08, 2009 | Modified: Apr 09, 2025
CVSS 3.x
4.7
MEDIUM
Source:
NVD
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
1.9 LOW
AV:L/AC:M/Au:N/C:N/I:N/A:P
RedHat/V2
2.1 MODERATE
AV:L/AC:L/Au:N/C:N/I:N/A:P
RedHat/V3
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

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.

Weakness

The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors.

Affected Software

NameVendorStart VersionEnd Version
Linux_kernelLinux*2.6.19 (including)
Linux_kernelLinux2.6.27 (including)2.6.27.24 (excluding)
Linux_kernelLinux2.6.29 (including)2.6.29.4 (excluding)
Linux_kernelLinux2.6.30-rc1 (including)2.6.30-rc1 (including)
Linux_kernelLinux2.6.30-rc2 (including)2.6.30-rc2 (including)
MRG for RHEL-5RedHatkernel-rt-0:2.6.24.7-126.el5rt*
LinuxUbuntuhardy*
LinuxUbuntuintrepid*
LinuxUbuntujaunty*
LinuxUbuntuupstream*
Linux-source-2.6.15Ubuntudapper*
Linux-source-2.6.15Ubuntuupstream*

Extended Description

Locking is a type of synchronization behavior that ensures that multiple independently-operating processes or threads do not interfere with each other when accessing the same resource. All processes/threads are expected to follow the same steps for locking. If these steps are not followed precisely - or if no locking is done at all - then another process/thread could modify the shared resource in a way that is not visible or predictable to the original process. This can lead to data or memory corruption, denial of service, etc.

Potential Mitigations

References