[Bug 1904419] Re: Upgrade glibc 2.32 by required upstream patches
Balint Reczey
1904419 at bugs.launchpad.net
Thu Apr 8 15:02:21 UTC 2021
** Tags removed: block-proposed-groovy
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc in Ubuntu.
https://bugs.launchpad.net/bugs/1904419
Title:
Upgrade glibc 2.32 by required upstream patches
Status in Ubuntu on IBM z Systems:
Fix Committed
Status in glibc package in Ubuntu:
Fix Released
Status in glibc source package in Groovy:
Fix Committed
Status in glibc source package in Hirsute:
Fix Released
Bug description:
SRU Justification:
[Impact]
* The glibc version 2.32 in groovy has some regressions with the
following impact:
* A regression that got introduced by commit
ffd178c651b827f24acead02284abbb12f3f723b can lead to a crash, because
__shmctl calls shmid_to_shmid64 on the input buffer even when cmd is
IPC_INFO. If SHM_INFO is immediately followed by unmapped memory,
shmid_to_shmid64 will read past its end into unmapped memory and will
crash.
* Starting with glibc-2.31.9000-687-g3283f71113 (glibc-2.32~83)
IPC_INFO and MSG_INFO commands of __msgctl and __msgctl64 return
garbage because a pointer to an internal buffer on the stack is passed
to the kernel. The buffer specified by the user remains unchanged
after IPC_INFO and MSG_INFO commands.
* semctl SEM_STAT_ANY fails to pass the buffer specified by the caller
to the kernel. The kernel receives garbage instead of union semun.buf
address specified by the caller.
[ Fix ]
* a49d7fd4f764e97ccaf922e433046590ae52fce9 "32-bit shmctl(IPC_INFO)
crashes when shminfo struct is at the end of a memory mapping"
* 20a00dbefca5695cccaa44846a482db8ccdd85ab "msgctl IPC_INFO and
MSG_INFO return garbage"
* 574500a108be1d2a6a0dc97a075c9e0a98371aba "semctl SEM_STAT_ANY fails
to pass the buffer specified by the caller to the kernel"
[ Test Case ]
Execute test script available upstream (1) here:
https://sourceware.org/bugzilla/show_bug.cgi?id=26636#c0
And run the test suite with the newly introduced test-cases that came
with the commits.
[ Where problems could occur ]
* glibc modification are usually quite sensitive.
* Erroneous modifications (1) in the area of IPC and SHM (i.e.
IPC_INFO and MSG_INFO) and it's control may lead to an even bigger
impact - and in worst case the crashes go beyond the case where
shminfo is immediately followed by unmapped memory and could happen
always (which would break the system entirely).
* Returning (3) or passing over and pointing to wrong buffers (2), or in worst case to other unwanted areas, can cause virtually any unforeseen consequences.
Returning garbage is only one aspect, returning wrong data and even modifying it would be even worse.
[Other Info]
* All fixes are upstream accepted and are part of glibc 2.33.
__________
The current libc6-2.32-0ubuntu3 package lacks some of the upstream
glibc commits on the "release/2.32/master" branch (see
http://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/release/2.32/master).
Does Ubuntu automatically pick the commits from this release branch?
Otherwise, please update to the latest commits on this branch, especially for:
- 2dfa659a66 resolv: Handle transaction ID collisions in parallel queries (bug 26600)
- 0b9460d22e sysvipc: Fix IPC_INFO and SHM_INFO handling [BZ #26636]
- c4aeedea59 sysvipc: Fix IPC_INFO and MSG_INFO handling [BZ #26639]
- 9b139b6b81 sysvipc: Fix SEM_STAT_ANY kernel argument pass [BZ #26637]
- ...
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1904419/+subscriptions
More information about the foundations-bugs
mailing list