Bug 1260158

Summary: Specially crafted binary can cause readelf to read from an arbitrary address-
Product: Red Hat Enterprise Linux 7 Reporter: Jeff Law <law>
Component: binutilsAssignee: Nick Clifton <nickc>
Status: CLOSED ERRATA QA Contact: Miloš Prchlík <mprchlik>
Severity: low Docs Contact:
Priority: unspecified    
Version: 7.2CC: law, mcermak, mnewsome, mpolacek, mprchlik, nickc, ohudlick
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: There was code in the readelf program would assume that the binary being examined was well behaved, and followed the ELF specification correctly. Consequence: Using a specially crafted binary image, that did not quite conform to the ELF specification would allow an attacker to force the readelf program to attempt to read from an attacker specified address. Fix: Add code to readelf to verify conformation to the ELF standard before attempting to read the required data. Result: Readelf can no longer be tricked into reading from an arbitrary address.
Story Points: ---
Clone Of: 1260035 Environment:
Last Closed: 2016-11-04 01:53:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1260034, 1260035, 1409817    
Bug Blocks: 1297579, 1313485    
Attachments:
Description Flags
Patch to harden readelf against this type of corrupt binary none

Description Jeff Law 2015-09-04 15:18:16 UTC
+++ This bug was initially created as a clone of Bug #1260035 +++

+++ This bug was initially created as a clone of Bug #1260034 +++

[ Creating a clone for RHEL 7 as well. ]

Description of problem:

  Readelf can be fooled into attempting to read from an arbitrary memory location if it is run against a specially crafted binary.

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

  All versions.

How reproducible:

  Run "readelf -a test00-min'

Actual results:

  seg-fault

Expected results:

  error message

Additional info:

  The bug has been fixed in the upstream FSF sources.  The patch can be found here:
 https://sourceware.org/bugzilla/show_bug.cgi?id=18879

Comment 1 Nick Clifton 2016-02-09 14:46:59 UTC
Created attachment 1122435 [details]
Patch to harden readelf against this type of corrupt binary

This is the patch needed to fix this problem.

Comment 2 Nick Clifton 2016-02-15 17:25:57 UTC
Patch checked in.  Moved to MODIFIED

Comment 4 Miloš Prchlík 2016-06-24 07:44:37 UTC
Verified for build binutils-2.25.1-19.base.el7.

Comment 8 errata-xmlrpc 2016-11-04 01:53:03 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2265.html