Bug 1400904 (CVE-2016-9755) - CVE-2016-9755 kernel: netfilter: Out-of-bounds write due to a signedness issue when defragmenting IPv6 packets
Summary: CVE-2016-9755 kernel: netfilter: Out-of-bounds write due to a signedness issu...
Status: CLOSED NOTABUG
Alias: CVE-2016-9755
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard: impact=moderate,public=20161126,repor...
Keywords: Security
Depends On: 1400905 1405266
Blocks: 1400906
TreeView+ depends on / blocked
 
Reported: 2016-12-02 09:29 UTC by Andrej Nemec
Modified: 2019-06-08 21:38 UTC (History)
39 users (show)

(edit)
An attacker on a network could abuse a flaw in the IPv6 stack fragment reassembly code to induce kernel memory corruption on the system, possibly leading to a system crash.
Clone Of:
(edit)
Last Closed: 2017-09-05 06:44:09 UTC


Attachments (Terms of Use)

Description Andrej Nemec 2016-12-02 09:29:46 UTC
A flaw was found in the Linux kernel networking stack in which an attacker can create crafted fragmented IPV6 packets that require reassembly. The network header offset in the reassembly process is assumed to be located in an offset prior to the fragment in memory.  

In some situations during fragment reassembly the header may be reconstructed in the assumed location and overwrite kernel memory with another header.

The flaw involves an issue that all network headers before fragment header are pulled. Normal ipv6 reassembly will drop the skb when errors occur further down the line.

The netfilter reassembly code neglects to do this correctly and instead passed the original fragment along.  That was also fine back when netfilter ipv6 defrag worked with cloned fragments, as the original, pristine fragment was passed on.

An attacker on the network could use this flaw to induce kernel memory corruption on the system, leading to a crash. Due to the nature of the flaw, privilege escalation cannot be fully ruled out, although we believe it is unlikely.

References:

http://seclists.org/oss-sec/2016/q4/556
https://groups.google.com/forum/#!topic/syzkaller/GFbGpX7nTEo

Patch:

https://www.spinics.net/lists/netdev/msg407525.html

Comment 1 Andrej Nemec 2016-12-02 09:30:18 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 1400905]


Note You need to log in before you can comment on or make changes to this bug.