Bug 1300731 - (CVE-2015-8787) CVE-2015-8787 kernel: Missing NULL pointer check in nf_nat_redirect_ipv4
CVE-2015-8787 kernel: Missing NULL pointer check in nf_nat_redirect_ipv4
Status: CLOSED NOTABUG
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
medium Severity medium
: ---
: ---
Assigned To: Red Hat Product Security
impact=moderate,public=20151202,repor...
: Security
Depends On: 1300732
Blocks: 1300733
  Show dependency treegraph
 
Reported: 2016-01-21 10:00 EST by Adam Mariš
Modified: 2016-05-13 06:07 EDT (History)
35 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
A NULL-pointer dereference vulnerability was found in the Linux kernel's TCP stack, in net/netfilter/nf_nat_redirect.c in the nf_nat_redirect_ipv4() function. A remote, unauthenticated user could exploit this flaw to create a system crash (denial of service).
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-01-28 11:07:57 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Adam Mariš 2016-01-21 10:00:35 EST
Kernel NULL pointer dereference vulnerability was found in netfilter/nf_nat_redirect.c in nf_nat_redirect_ipv4 function introduced by commit 8b13eddfdf04cbfa561725cfc42d6868fe896f56 ("netfilter: refactor NAT redirect IPv4 to use it from nf_tables").

Vulnerable code:

unsigned int
nf_nat_redirect_ipv4(struct sk_buff *skb,
...
{
...
		rcu_read_lock();
		indev = __in_dev_get_rcu(skb->dev);
		if (indev != NULL) {
			ifa = indev->ifa_list;
			newdst = ifa->ifa_local; <---
		}
		rcu_read_unlock();
...
}

'ifa' is not checked before access and can be accessed even if it's NULL. Crash might happen when packets that need to be redirected somehow arrive on an interface which hasn't been yet fully configured.

Patch and crash report:

https://lkml.org/lkml/2015/12/2/618

Oss-security reference:

http://seclists.org/oss-sec/2016/q1/223

CVE assignment:

http://seclists.org/oss-sec/2016/q1/226
Comment 1 Adam Mariš 2016-01-21 10:01:19 EST
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 1300732]
Comment 2 Josh Boyer 2016-01-21 10:40:09 EST
(In reply to Adam Mariš from comment #0)
> Patch and crash report:
> 
> https://lkml.org/lkml/2015/12/2/618

This is commit 94f9cd81436c85d8c3a318ba92e236ede73752fc in Linus' tree.  It was included with the 4.4-rc1 release.
Comment 5 Vladis Dronov 2016-01-28 11:07:57 EST
Statement:

This issue does not affect the Linux kernel packages as shipped with Red Hat Enterprise Linux 5, 6, 7 and MRG-2 as the code with the flaw is not present in the products listed.
Comment 6 Fedora Update System 2016-01-31 21:21:53 EST
kernel-4.3.4-300.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.
Comment 7 Fedora Update System 2016-02-01 01:22:35 EST
kernel-4.3.4-200.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.

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