CVE Vulnerabilities

CVE-2010-4210

Improper Locking

Published: Nov 22, 2010 | Modified: Feb 15, 2024
CVSS 3.x
7.8
HIGH
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 2.x
7.2 HIGH
AV:L/AC:L/Au:N/C:C/I:C/A:C
RedHat/V2
RedHat/V3
Ubuntu

The pfs_getextattr function in FreeBSD 7.x before 7.3-RELEASE and 8.x before 8.0-RC1 unlocks a mutex that was not previously locked, which allows local users to cause a denial of service (kernel panic), overwrite arbitrary memory locations, and possibly execute arbitrary code via vectors related to opening a file on a file system that uses pseudofs.

Weakness

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

Affected Software

Name Vendor Start Version End Version
Freebsd Freebsd 7.0 (including) 7.3 (excluding)
Freebsd Freebsd 8.0-p1 (including) 8.0-p1 (including)
Freebsd Freebsd 8.0-p2 (including) 8.0-p2 (including)
Freebsd Freebsd 8.0-p3 (including) 8.0-p3 (including)
Freebsd Freebsd 8.0-p4 (including) 8.0-p4 (including)
Freebsd Freebsd 8.0-p5 (including) 8.0-p5 (including)
Freebsd Freebsd 8.0-p6 (including) 8.0-p6 (including)

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