Bug 1372305

Summary: glibc: fopencookie hardening
Product: Red Hat Enterprise Linux 7 Reporter: Florian Weimer <fweimer>
Component: glibcAssignee: Florian Weimer <fweimer>
Status: CLOSED ERRATA QA Contact: Sergey Kolosov <skolosov>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: ashankar, codonell, fweimer, mnewsome, pfrankli, skolosov
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glibc-2.17-211.el7 Doc Type: Enhancement
Doc Text:
Feature: The fopencookie function stores the callback function pointers in a mangled form. Reason: These function pointers are a potential target for exploit writers because they reside on the heap, and execution could be redirect through them. Result: Now that they are mangled, it is more difficult to abuse them as part of exploits because an attacker would have to guess both the location of the pointers and the pointer guard value used for mangling.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 13:56:38 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:    
Bug Blocks: 1372306, 1372375, 1473718    

Description Florian Weimer 2016-09-01 11:32:20 UTC
Upstream implemented obfuscation for function pointers stored in stdio streams created with fopencookie:

commit 983fd5c41ab7e5a5c33922259ca1ac99b3b413f8
Author: Florian Weimer <fweimer>
Date:   Sat Jun 11 12:07:14 2016 +0200

    fopencookie: Mangle function pointers stored on the heap [BZ #20222]

This does not have ABI impact and is necessary to block libio-based code execution exploits (after vtable verification has been enabled).

Comment 9 errata-xmlrpc 2018-04-10 13:56:38 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://access.redhat.com/errata/RHSA-2018:0805