Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
For bugs related to Red Hat Enterprise Linux 5 product line. The current stable release is 5.10. For Red Hat Enterprise Linux 6 and above, please visit Red Hat JIRA https://issues.redhat.com/secure/CreateIssue!default.jspa?pid=12332745 to report new issues.

Bug 238944

Summary: CVE-2007-1592 IPv6 oops triggerable by any user
Product: Red Hat Enterprise Linux 5 Reporter: Marcel Holtmann <holtmann>
Component: kernelAssignee: Don Howard <dhoward>
Status: CLOSED ERRATA QA Contact: Martin Jenner <mjenner>
Severity: high Docs Contact:
Priority: medium    
Version: 5.0CC: dhoward, dzickus, lwang, nhorman, security-response-team, tgraf
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: impact=important,source=netdev,reported=20070333,public=20070316
Fixed In Version: RHSA-2007-0347 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-05-16 18:57:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Marcel Holtmann 2007-05-04 01:52:47 UTC
Description of problem:

We accidently copy the ipv6 flow list to child sockets of listening
TCP sockets, but don't bump the reference count, clone the object,
etc.  And the list linkage of this object is not built such that
multiple sockets can point to it anyways.

Therefore if a listening socket has a flow list attached,
when a child connection closes we'll OOPS or double free
the flow list entry.

Any user can trigger this.


Version-Release number of selected component (if applicable):


How reproducible:
Writing a reproducer should be simple:

1) Open listening IPV6 TCP socket
2) Attach a flowlabel with IPV6_FLOWLABEL_MGR socket option,
   freq->flr_action == IPV6_FL_A_GET and appropriate metadata.
3) Connect to that listening socket, and close()

Steps to Reproduce:
1.
2.
3.
  
Actual results:

Instant oops.  The fix is to simply not inherit this ipv6
socket option.

Expected results:


Additional info:

This was discovered and merged upstream right before this
past weekend.  See:

	http://marc.info/?l=linux-netdev&m=117406721731891&w=2

Can someone help me audit RHEL3 and RHEL4 to make sure we
get those fixed up if necessary?  I'm about to go away for
3 days.

Comment 1 Don Howard 2007-05-07 17:16:12 UTC
A patch for this issue has been included in build 2.6.18-8.1.4.el5.

Comment 2 Mike Gahagan 2007-05-09 21:24:31 UTC
Confirmed that fix is in 2.6.18-8.1.4.el5.



Comment 4 Don Howard 2007-05-11 22:08:32 UTC
*** Bug 238952 has been marked as a duplicate of this bug. ***

Comment 6 Red Hat Bugzilla 2007-05-16 18:57:26 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2007-0347.html