Bug 2528347 (CVE-2026-85498) - CVE-2026-85498 polkit: Regression in CVE-2026-4897 fix (polkit read_cookie()) - stack buffer underflow
Summary: CVE-2026-85498 polkit: Regression in CVE-2026-4897 fix (polkit read_cookie())...
Keywords:
Status: NEW
Alias: CVE-2026-85498
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2528351 2528355 2528356 2528357 2528358 2528359 2528360 2528361 2528362 2528363 2528365 2528366 2528367 2528369 2528370 2528371 2528372 2528373 2528364 2528368 2528374
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-04 01:19 UTC by OSIDB Bzimport
Modified: 2026-09-04 02:25 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-04 01:19:21 UTC
Upstream commit 7e122c8a5120c2aae2d9d44a26796dc18f5b677c of polkit contains a regression stack buffer overflow: an unbounded getline() call was replaced in read_cookie() in /src/polkitagent/polkitagenthelperprivate.c, wherein fgets() copies bytes verbatim and does not stop at an embedded NUL byte.  If the first byte read from stdin is 0x00, buf[0] == '\0' and strlen(buf) returns 0. The expression strlen(buf) - 1 then underflows (size_t)0 - 1 to SIZE_MAX, and buf[SIZE_MAX] is an out-of-bounds read. On a typical two's-complement 64-bit target the pointer arithmetic wraps modulo 2^64, so in practice this reads buf[-1] - one byte immediately before the stack buffer.


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