Linux Kernel 3.3.5 kernel/futex.c futex_wait_requeue_pi input validation

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
6.5$0-$5k0.00

Summaryinfo

A vulnerability classified as problematic has been found in Linux Kernel 3.3.5. This issue affects the function futex_wait_requeue_pi of the file kernel/futex.c. Performing a manipulation results in input validation. This vulnerability is known as CVE-2012-6647. No exploit is available. It is recommended to apply a patch to fix this issue.

Detailsinfo

A vulnerability, which was classified as critical, was found in Linux Kernel 3.3.5 (Operating System). This affects the function futex_wait_requeue_pi of the file kernel/futex.c. The manipulation with an unknown input leads to a input validation vulnerability. CWE is classifying the issue as CWE-20. The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly. This is going to have an impact on availability. The summary by CVE is:

The futex_wait_requeue_pi function in kernel/futex.c in the Linux kernel before 3.5.1 does not ensure that calls have two different futex addresses, which allows local users to cause a denial of service (NULL pointer dereference and system crash) or possibly have unspecified other impact via a crafted FUTEX_WAIT_REQUEUE_PI command.

The issue has been introduced in 04/03/2009. The weakness was published 05/14/2014 by Prasad J Pandit as forbid uaddr == uaddr2 in futex_wait_requeue_pi() to avoid null dereference (oss-sec). It is possible to read the advisory at openwall.com. This vulnerability is uniquely identified as CVE-2012-6647 since 05/14/2014. The exploitability is told to be easy. It is possible to initiate the attack remotely. No form of authentication is needed for exploitation. Technical details of the vulnerability are known, but there is no available exploit. The advisory points out:

Linux kernel built with the fast userspace mutexes(CONFIG_FUTEX) support is vulnerable to a NULL pointer dereference flaw. It could occur when a waiting task requests wait to be re-queued from non-PI futex to a PI-aware futex via FUTEX_WAIT_REQUEUE_PI operation.

The vulnerability was handled as a non-public zero-day exploit for at least 1208 days. During that time the estimated underground price was around $5k-$25k. The vulnerability scanner Nessus provides a plugin with the ID 76948 (CentOS 6 : kernel (CESA-2014:0981)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family CentOS Local Security Checks. The commercial vulnerability scanner Qualys is able to test this issue with plugin 167228 (SUSE Enterprise Linux Security Update for Linux Kernel (SUSE-SU-2014:0807-1)).

Applying a patch is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. A possible mitigation has been published even before and not after the disclosure of the vulnerability. The vulnerability will be addressed with the following lines of code:

if (uaddr == uaddr2)
   return -EINVAL;

The vulnerability is also documented in the databases at X-Force (93134), Tenable (76948), SecurityFocus (BID 67395†) and Vulnerability Center (SBV-44652†). Further details are available at seclists.org. Similar entries are available at VDB-11302, VDB-11755, VDB-12214 and VDB-12411. Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Productinfo

Type

Vendor

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 7.5
VulDB Meta Temp Score: 6.5

VulDB Base Score: 7.5
VulDB Temp Score: 6.5
VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍

NVD Base Score: 🔍

Exploitinginfo

Class: Input validation
CWE: CWE-20
CAPEC: 🔍
ATT&CK: 🔍

Physical: Partially
Local: Yes
Remote: Yes

Availability: 🔍
Status: Unproven

EPSS Score: 🔍
EPSS Percentile: 🔍

Price Prediction: 🔍
Current Price Estimation: 🔍

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Nessus ID: 76948
Nessus Name: CentOS 6 : kernel (CESA-2014:0981)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Port: 🔍

Qualys ID: 🔍
Qualys Name: 🔍

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Patch
Status: 🔍

0-Day Time: 🔍

Patch: git.kernel.org

Timelineinfo

04/03/2009 🔍
07/24/2012 +1208 days 🔍
05/14/2014 +659 days 🔍
05/14/2014 +0 days 🔍
05/14/2014 +0 days 🔍
05/14/2014 +0 days 🔍
05/16/2014 +2 days 🔍
05/26/2014 +10 days 🔍
05/27/2014 +1 days 🔍
08/01/2014 +66 days 🔍
06/19/2021 +2514 days 🔍

Sourcesinfo

Vendor: kernel.org

Advisory: forbid uaddr == uaddr2 in futex_wait_requeue_pi() to avoid null dereference
Researcher: Prasad J Pandit
Status: Confirmed
Confirmation: 🔍

CVE: CVE-2012-6647 (🔍)
GCVE (CVE): GCVE-0-2012-6647
GCVE (VulDB): GCVE-100-13215

OVAL: 🔍

X-Force: 93134 - Linux Kernel futex.c denial of service, Medium Risk
SecurityFocus: 67395 - Linux Kernel 'futex.c' Function Denial of Service Vulnerability
Vulnerability Center: 44652 - Linux Kernel Before 3.5.1 Local DoS via a NULL Pointer Dereference, Medium

Misc.: 🔍
See also: 🔍

Entryinfo

Created: 05/16/2014 16:09
Updated: 06/19/2021 15:30
Changes: 05/16/2014 16:09 (71), 05/29/2017 08:52 (12), 06/19/2021 15:30 (3)
Complete: 🔍
Cache ID: 216:708:103

Discussion

No comments yet. Languages: en.

Please log in to comment.

Do you want to use VulDB in your project?

Use the official API to access entries easily!