Bug 648673 (CVE-2010-4083)

Summary: CVE-2010-4083 kernel: ipc/sem.c: reading uninitialized stack memory
Product: [Other] Security Response Reporter: Petr Matousek <pmatouse>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: arozansk, bhu, dhoward, eteo, fhrbata, jkacur, jolsa, lgoncalv, peterm, plyons, rkhan, vgoyal, williams
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-19 09:16:50 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:
Bug Depends On: 648720, 648721, 648722, 648723, 648724, 648793, 648794    
Bug Blocks:    

Description Petr Matousek 2010-11-01 21:29:34 UTC
Description of problem:
The semctl syscall has several code paths that lead to the leakage of uninitialized kernel stack memory (namely the IPC_INFO, SEM_INFO, IPC_STAT, and SEM_STAT commands) during the use of the older, obsolete version of the semid_ds struct.  The copy_semid_to_user() function declares a semid_ds struct on the stack and copies it back to the user without initializing or zeroing the 'sem_base', 'sem_pending', 'sem_pending_last', and 'undo' pointers, allowing the leakage of 16 bytes of kernel stack memory.  The code is still reachable on 32-bit systems - when calling semctl() newer glibc's automatically OR the IPC command with the IPC_64 flag, but invoking the syscall directly allows users to use the older versions of the struct.

Reference:
http://www.openwall.com/lists/oss-security/2010/10/06/6
http://www.spinics.net/lists/mm-commits/msg80234.html

Acknowledgements:

Red Hat would like to thank Dan Rosenberg for reporting this issue.

Comment 3 Petr Matousek 2010-11-02 10:34:41 UTC
Statement:

This issue is not planned to be fixed in Red Hat Enterprise Linux 3,
due to this product being in Extended Life Cycle Phase of its
maintenance life-cycle, where only qualified security errata of critical
impact are addressed.

For further information about the Errata Support Policy, visit:
http://www.redhat.com/security/updates/errata

Comment 4 Eugene Teo (Security Response) 2010-11-04 07:29:04 UTC
Upstream commit:
http://git.kernel.org/linus/982f7c2b2e6a28f8f266e075d92e19c0dd4c6e56

Comment 5 Eugene Teo (Security Response) 2010-11-04 07:29:22 UTC
*** Bug 649614 has been marked as a duplicate of this bug. ***

Comment 6 errata-xmlrpc 2010-12-08 19:10:12 UTC
This issue has been addressed in following products:

  MRG for RHEL-5

Via RHSA-2010:0958 https://rhn.redhat.com/errata/RHSA-2010-0958.html

Comment 7 errata-xmlrpc 2011-01-04 16:53:23 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2011:0004 https://rhn.redhat.com/errata/RHSA-2011-0004.html

Comment 8 errata-xmlrpc 2011-01-11 19:46:44 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 6

Via RHSA-2011:0007 https://rhn.redhat.com/errata/RHSA-2011-0007.html

Comment 9 errata-xmlrpc 2011-01-18 17:45:55 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 4

Via RHSA-2011:0162 https://rhn.redhat.com/errata/RHSA-2011-0162.html