Bug 1775819 - glibc: Disable libio vtable validation for interposed pre-2.1 stdio handles [rhel-8]
Summary: glibc: Disable libio vtable validation for interposed pre-2.1 stdio handles [...
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: glibc
Version: 8.2
Hardware: i686
OS: Unspecified
Target Milestone: rc
: 8.2
Assignee: Patsy Griffin
QA Contact: qe-baseos-tools-bugs
Depends On:
Blocks: 1819440 1825061
TreeView+ depends on / blocked
Reported: 2019-11-22 21:22 UTC by Florian Weimer
Modified: 2021-09-17 12:20 UTC (History)
8 users (show)

Fixed In Version: glibc-2.28-106.el8
Doc Type: No Doc Update
Doc Text:
Clone Of:
Last Closed: 2020-11-04 01:32:42 UTC
Type: Bug
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1775816 0 unspecified CLOSED glibc: Disable libio vtable validation for interposed pre-2.1 stdio handles [rhel-7] 2021-08-30 12:59:58 UTC
Red Hat Product Errata RHSA-2020:4444 0 None None None 2020-11-04 01:33:13 UTC
Sourceware 25203 0 P2 RESOLVED Disable libio vtable validation for interposed pre-2.1 stdio handles 2020-10-13 07:03:05 UTC

Internal Links: 1775816

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@redhat.com>
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.


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