Bug 473696 - (CVE-2008-5079) CVE-2008-5079 Linux Kernel 'atm module' Local Denial of Service
CVE-2008-5079 Linux Kernel 'atm module' Local Denial of Service
Status: CLOSED ERRATA
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
high Severity high
: ---
: ---
Assigned To: Red Hat Product Security
impact=important,source=bugzilla,repo...
: Security
Depends On: 473606 473697 473698 473699 473700 473701 474298 474299 474300
Blocks:
  Show dependency treegraph
 
Reported: 2008-11-29 21:30 EST by Eugene Teo (Security Response)
Modified: 2010-12-21 12:54 EST (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-12-21 12:54:25 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)
Reproducer from Hugo (1.32 KB, text/plain)
2008-11-29 21:59 EST, Eugene Teo (Security Response)
no flags Details
Proposed patch for real-time kernel (855 bytes, patch)
2008-12-04 03:07 EST, Eugene Teo (Security Response)
no flags Details | Diff

  None (edit)
Description Eugene Teo (Security Response) 2008-11-29 21:30:27 EST
From  Hugo Dias (hdias@synchlabs.com):
It seems that calling the svc_listen function in 'net/atm/svc.c' 
twice on same socket, will create unassigned PVC/SVC entries.

This entries are visible using proc filesystem.

#cat /proc/net/atm/vc

Address  Itf ...
c7f34400 Unassigned   ...
c7f34400 Unassigned   ...
c7f34400 Unassigned   ...
.......

The code in 'net/atm/proc.c', can't handle the unassigned entries. Kernel will
freeze with infinite loop in 'proc.c' if we cat '/proc/net/atm/pvc'  :

net/atm/proc.c:

074 static inline int compare_family(struct sock *sk, int family)
073 {
074         return !family || (sk->sk_family == family);
075 }

091 try_again:
092         for (; sk; sk = sk_next(sk)) {
093                 l -= compare_family(sk, family); <<<<<<<<<
094                 if (l < 0)            
095                         goto out; 
096         }

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

Linux Kernel 2.6.x

(Fedora Core 10  - 2.6.25-14.fc9.i686)
(Fedora Core 9   - 2.6.25-14.fc9.x86_64)
(Fedora Core 9   - 2.6.25-14.fc9.i686 )

How reproducible:

Please see attachment

Actual results:
Kernel hang

Expected results:
Not Hang
Comment 4 Eugene Teo (Security Response) 2008-11-29 21:57:40 EST
Seems to be introduced by upstream commit 9301e32:
From 9301e320e98ff19a0e48881b038d0c24ca76e6c0 Mon Sep 17 00:00:00 2001
From: Chas Williams <chas@cmf.nrl.navy.mil>
Date: Wed, 28 Sep 2005 16:35:01 -0700
Subject: [PATCH] [ATM]: track and close listen sockets when sigd exits

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>

Tested the upstream kernel without commit 9301e32. It's not reproducible.
Comment 6 Eugene Teo (Security Response) 2008-11-30 21:32:53 EST
(In reply to comment #3)
> on rhel4 kernel, this bug is not triggerable.

Like rhel4, tested 2.4.21-57.EL on rhel3, and the bug is not triggerable.

[test@rhel3-as-i386 test]$ ./atmdos
Itf VPI VCI   AAL RX(PCR,Class) TX(PCR,Class)
[test@rhel3-as-i386 test]$ uname -a
Linux rhel3-as-i386 2.4.21-57.EL #1 Wed Apr 23 01:46:01 EDT 2008 i686 i686 i386 GNU/Linux
Comment 16 Eugene Teo (Security Response) 2008-12-04 03:07:07 EST
Created attachment 325649 [details]
Proposed patch for real-time kernel

taskID=1598153; Tested this with the reproducer.
Comment 17 Eugene Teo (Security Response) 2008-12-04 19:24:18 EST
This is public now.
http://marc.info/?l=linux-netdev&m=122841256115780&w=2
http://marc.info/?l=linux-netdev&m=122843162615569&w=2
Comment 18 Chuck Ebbert 2008-12-08 23:02:23 EST
Fixed in Fedora 10 kernel 2.6.27.8-143
Comment 19 Chuck Ebbert 2008-12-09 12:06:39 EST
Where is the Fedora 9 bug?
Comment 20 Eugene Teo (Security Response) 2008-12-09 20:35:28 EST
(In reply to comment #19)
> Where is the Fedora 9 bug?

Don't think there is one. Please create it if needed. Thanks Chuck.
Comment 22 Fedora Update System 2008-12-17 11:21:09 EST
kernel-2.6.27.9-159.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/kernel-2.6.27.9-159.fc10
Comment 23 Fedora Update System 2008-12-17 11:22:15 EST
kernel-2.6.27.9-73.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/kernel-2.6.27.9-73.fc9
Comment 24 Fedora Update System 2008-12-24 13:45:19 EST
kernel-2.6.27.9-159.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 25 Fedora Update System 2008-12-24 13:47:36 EST
kernel-2.6.27.9-73.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 26 Fedora Update System 2009-01-05 09:26:30 EST
kernel-2.6.26.8-57.fc8 has been submitted as an update for Fedora 8.
http://admin.fedoraproject.org/updates/kernel-2.6.26.8-57.fc8
Comment 27 Fedora Update System 2009-01-07 04:17:37 EST
kernel-2.6.26.8-57.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 30 Vincent Danen 2010-12-21 12:54:25 EST
This was addressed via:

Red Hat Enterprise Linux (v. 5.2.z server) (RHSA-2009:0021)
MRG Realtime for RHEL 5 Server (RHSA-2009:0053)
Red Hat Enterprise Linux version 5 (RHSA-2009:0225)

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