Linux Kernel 3.3.8 IPv6 Packet ip6_output.c ip6_ufo_append_data UDP Packet memory corruption

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.7 | $0-$5k | 0.00 |
Summary
A vulnerability classified as problematic was found in Linux Kernel 3.3.8. Affected by this issue is the function ip6_ufo_append_data of the file ip6_output.c of the component IPv6 Packet Handler. Executing a manipulation as part of UDP Packet can lead to memory corruption.
This vulnerability appears as CVE-2013-4387. In addition, an exploit is available.
Applying a patch is advised to resolve this issue.
Details
A vulnerability was found in Linux Kernel 3.3.8 (Operating System). It has been declared as critical. This vulnerability affects the function ip6_ufo_append_data of the file ip6_output.c of the component IPv6 Packet Handler. The manipulation as part of a UDP Packet leads to a memory corruption vulnerability. The CWE definition for the vulnerability is 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. As an impact it is known to affect availability. CVE summarizes:
net/ipv6/ip6_output.c in the Linux kernel through 3.11.4 does not properly determine the need for UDP Fragmentation Offload (UFO) processing of small packets after the UFO queueing of a large packet, which allows remote attackers to cause a denial of service (memory corruption and system crash) or possibly have unspecified other impact via network traffic that triggers a large response packet.
The weakness was presented 09/24/2013 by Hannes Frederic Sowa as linux kernel memory corruption with ipv6 udp offloading as confirmed mailinglist post (oss-sec). The advisory is shared for download at seclists.org. The public release was coordinated in cooperation with the vendor. This vulnerability was named CVE-2013-4387 since 06/12/2013. The exploitation appears to be easy. The attack can be initiated remotely. No form of authentication is required for a successful exploitation. Technical details and also a public exploit are known. The advisory points out:
If the first UDP packet is larger then the mtu we try to append it to the write queue via ip6_ufo_append_data. A following packet, which is smaller than the mtu would be appended to the already queued up gso-skb via plain ip6_append_data. This causes random memory corruptions. In ip6_ufo_append_data we also have to be careful to not queue up the same skb multiple times. So setup the gso frame only when no first skb is available.
A public exploit has been developed by Hannes Frederic Sowa and been published immediately after the advisory. It is possible to download the exploit at seclists.org. It is declared as proof-of-concept. As 0-day the estimated underground price was around $5k-$25k. The vulnerability scanner Nessus provides a plugin with the ID 74354 (Ubuntu 10.04 LTS : linux vulnerabilities (USN-2233-1)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Ubuntu Local Security Checks. The commercial vulnerability scanner Qualys is able to test this issue with plugin 350511 (Amazon Linux Security Advisory for kernel: ALAS-2013-233).
Applying a patch is able to eliminate this problem. The bugfix is ready for download at git.kernel.org.Proper firewalling of IPv6 UDP ports is able to address this issue. The best possible mitigation is suggested to be patching the affected component. A possible mitigation has been published immediately after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Tenable (74354), SecurityFocus (BID 62696†), OSVDB (97888†) and Vulnerability Center (SBV-41674†). See VDB-8993, VDB-9736 and VDB-63586 for similar entries. Once again VulDB remains the best source for vulnerability data.
Product
Type
Vendor
Name
Version
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.5VulDB Meta Temp Score: 6.7
VulDB Base Score: 7.5
VulDB Temp Score: 6.7
VulDB Vector: 🔍
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Memory corruptionCWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Proof-of-Concept
Author: Hannes Frederic Sowa
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 74354
Nessus Name: Ubuntu 10.04 LTS : linux vulnerabilities (USN-2233-1)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Port: 🔍
OpenVAS ID: 866964
OpenVAS Name: Fedora Update for kernel FEDORA-2013-18364
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Exploit Delay Time: 🔍
Patch: git.kernel.org
Firewalling: 🔍
Timeline
06/12/2013 🔍09/24/2013 🔍
09/24/2013 🔍
09/24/2013 🔍
09/28/2013 🔍
09/29/2013 🔍
10/01/2013 🔍
10/02/2013 🔍
10/10/2013 🔍
06/06/2014 🔍
05/26/2021 🔍
Sources
Vendor: kernel.orgAdvisory: linux kernel memory corruption with ipv6 udp offloading
Researcher: Hannes Frederic Sowa
Status: Confirmed
Confirmation: 🔍
Coordinated: 🔍
CVE: CVE-2013-4387 (🔍)
GCVE (CVE): GCVE-0-2013-4387
GCVE (VulDB): GCVE-100-10528
OVAL: 🔍
SecurityFocus: 62696
OSVDB: 97888
Vulnerability Center: 41674 - Linux Kernel 3.3.5 and earlier Remote Code Execution and DoS due to ipv6 UDP Offloading, Critical
scip Labs: https://www.scip.ch/en/?labs.20161013
See also: 🔍
Entry
Created: 10/02/2013 17:36Updated: 05/26/2021 03:11
Changes: 10/02/2013 17:36 (58), 05/12/2017 10:31 (30), 05/26/2021 03:04 (4), 05/26/2021 03:11 (1)
Complete: 🔍
Cache ID: 216:7C3:103
No comments yet. Languages: en.
Please log in to comment.