Bug 1775819

Summary: glibc: Disable libio vtable validation for interposed pre-2.1 stdio handles [rhel-8]
Product: Red Hat Enterprise Linux 8 Reporter: Florian Weimer <fweimer>
Component: glibcAssignee: Patsy Griffin <pfrankli>
Status: CLOSED ERRATA QA Contact: qe-baseos-tools-bugs
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.2CC: ashankar, codonell, dj, fweimer, mnewsome, pfrankli, sipoyare, skolosov
Target Milestone: rcKeywords: Patch, Triaged
Target Release: 8.2   
Hardware: i686   
OS: Unspecified   
Whiteboard:
Fixed In Version: glibc-2.28-106.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 01:32:42 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1819440, 1825061    

Description Florian Weimer 2019-11-22 21:22:43 UTC
Current glibc does not preserve binary compatibilty with certain C++ binaries linked against versions before glibc 2.1. The legacy stdio implementation in libio/oldstdfiles.c needs a check for interposition of the stdio handles, similar to the existing check in libio/stdfiles.c (which was fixed prior to the release of Red Hat Enterprise Linux 8.0).

Comment 1 Carlos O'Donell 2019-12-09 14:14:02 UTC
commit cb61630ed712d033f54295f776967532d3f4b46a
Author: Florian Weimer <fweimer>
Date:   Fri Nov 22 22:10:42 2019 +0100

    libio: Disable vtable validation for pre-2.1 interposed handles [BZ #25203]
    
    Commit c402355dfa7807b8e0adb27c009135a7e2b9f1b0 ("libio: Disable
    vtable validation in case of interposition [BZ #23313]") only covered
    the interposable glibc 2.1 handles, in libio/stdfiles.c.  The
    parallel code in libio/oldstdfiles.c needs similar detection logic.
    
    Fixes (again) commit db3476aff19b75c4fdefbe65fcd5f0a90588ba51
    ("libio: Implement vtable verification [BZ #20191]").
    
    Change-Id: Ief6f9f17e91d1f7263421c56a7dc018f4f595c21

Comment 4 Sergey Kolosov 2020-08-31 09:48:00 UTC
Verified with Counter Strike server. It fails on glibc-2.28-105.el8 with "Fatal error: glibc detected an invalid stdio handle" and it runs on glibc-2.28-117.el8.

Comment 7 errata-xmlrpc 2020-11-04 01:32:42 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 (Moderate: glibc security, bug fix, and enhancement update), 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-2020:4444