Linux Kernel 3.4.80/3.10.30/3.12.11/3.13.3 /fs/cifs/file.c cifs_iovec_write memory corruption

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.
7.3$0-$5k0.00

Summaryinfo

A vulnerability labeled as critical has been found in Linux Kernel 3.4.80/3.10.30/3.12.11/3.13.3. This affects the function cifs_iovec_write of the file /fs/cifs/file.c. The manipulation results in memory corruption. This vulnerability is reported as CVE-2014-0069. No exploit exists. It is advisable to implement a patch to correct this issue.

Detailsinfo

A vulnerability was found in Linux Kernel 3.4.80/3.10.30/3.12.11/3.13.3 (Operating System). It has been classified as critical. Affected is the function cifs_iovec_write of the file /fs/cifs/file.c. The manipulation with an unknown input leads to a memory corruption vulnerability. CWE is classifying the issue as CWE-119. The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. This is going to have an impact on confidentiality, integrity, and availability. CVE summarizes:

The cifs_iovec_write function in fs/cifs/file.c in the Linux kernel through 3.13.5 does not properly handle uncached write operations that copy fewer than the requested number of bytes, which allows local users to obtain sensitive information from kernel memory, cause a denial of service (memory corruption and system crash), or possibly gain privileges via a writev system call with a crafted pointer.

The weakness was disclosed 02/14/2014 by Al Viro as cifs: ensure that uncached writes handle unmapped areas correctly as not defined posting (Mailing List). The advisory is shared for download at article.gmane.org. This vulnerability is traded as CVE-2014-0069 since 12/03/2013. The exploitability is told to be easy. The attack needs to be approached locally. The exploitation doesn't require any form of authentication. There are known technical details, but no exploit is available. The advisory points out:

It's possible for userland to pass down an iovec via writev() that has a bogus user pointer in it. If that happens and we're doing an uncached write, then we can end up getting less bytes than we expect from the call to iov_iter_copy_from_user.

The vulnerability scanner Nessus provides a plugin with the ID 72546 (Fedora 20 : kernel-3.13.3-201.fc20 (2014-2576)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Fedora Local Security Checks. The commercial vulnerability scanner Qualys is able to test this issue with plugin 350456 (Amazon Linux Security Advisory for kernel: ALAS-2014-289).

Applying a patch is able to eliminate this problem. The bugfix is ready for download at article.gmane.org. A possible mitigation has been published immediately after the disclosure of the vulnerability. The posting contains the following remark:

Fix this by having the copy phase of cifs_iovec_write stop copying data in this situation and send the last write as a short one. At the same time, we want to avoid sending a zero-length write to the server, so break out of the loop and set rc to -EFAULT if that happens. This also allows us to handle the case where no address in the iovec is valid. (...) Marking this for stable on v3.4+ kernels, but kernels as old as v2.6.38 may have a similar problem and may need similar fix.

The vulnerability is also documented in the databases at X-Force (91225), Tenable (72546), SecurityFocus (BID 65588†), Secunia (SA56967†) and Vulnerability Center (SBV-43319†). VulDB is the best source for vulnerability data and more expert information about this specific topic.

Productinfo

Type

Vendor

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 8.4
VulDB Meta Temp Score: 7.0

VulDB Base Score: 8.4
VulDB Temp Score: 7.0
VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv2info

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

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

NVD Base Score: 🔍

Exploitinginfo

Class: Memory corruption
CWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍

Physical: Partially
Local: Yes
Remote: No

Availability: 🔍
Status: Unproven

EPSS Score: 🔍
EPSS Percentile: 🔍

Price Prediction: 🔍
Current Price Estimation: 🔍

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Nessus ID: 72546
Nessus Name: Fedora 20 : kernel-3.13.3-201.fc20 (2014-2576)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Port: 🔍

OpenVAS ID: 881910
OpenVAS Name: CentOS Update for kernel CESA-2014:0328 centos6
OpenVAS File: 🔍
OpenVAS Family: 🔍

Qualys ID: 🔍
Qualys Name: 🔍

Threat Intelligenceinfo

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

Countermeasuresinfo

Recommended: Patch
Status: 🔍

Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍

Patch: article.gmane.org

Timelineinfo

12/03/2013 🔍
02/12/2014 +71 days 🔍
02/12/2014 +0 days 🔍
02/14/2014 +2 days 🔍
02/14/2014 +0 days 🔍
02/18/2014 +4 days 🔍
02/18/2014 +0 days 🔍
02/20/2014 +2 days 🔍
02/22/2014 +2 days 🔍
02/28/2014 +6 days 🔍
07/10/2024 +3785 days 🔍

Sourcesinfo

Vendor: kernel.org

Advisory: cifs: ensure that uncached writes handle unmapped areas correctly
Researcher: Al Viro
Status: Not defined
Confirmation: 🔍

CVE: CVE-2014-0069 (🔍)
GCVE (CVE): GCVE-0-2014-0069
GCVE (VulDB): GCVE-100-12372

OVAL: 🔍

X-Force: 91225 - Linux Kernel cifs_iovec_write() privilege escalation, High Risk
SecurityFocus: 65588 - Linux Kernel '/fs/cifs/file.c' Local Memory Corruption Vulnerability
Secunia: 56967 - Linux Kernel CIFS Uncached Writes Handling Vulnerability, Less Critical
Vulnerability Center: 43319 - Linux Kernel Local Information Disclosure and DoS due to a Flaw in the /fs/cifs/file.c File, Medium

Entryinfo

Created: 02/22/2014 20:22
Updated: 07/10/2024 19:22
Changes: 02/22/2014 20:22 (83), 05/21/2017 14:08 (5), 06/09/2021 17:02 (3), 07/10/2024 19:22 (20)
Complete: 🔍
Cache ID: 216:A8F: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!