Read the docs
TI-2026-30170 Aliases CVE-2026-41651

PackageKit vulnerable to TOCTOU Race on Transaction Flags leads to arbitrary package installation as root

Priority MEDIUM 41CWE-367Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.

Summary

PackageKit is a a D-Bus abstraction layer that allows the user to manage packages in a secure way using a cross-distro, cross-architecture API. PackageKit between and including versions 1.0.2 and 1.3.4 is vulnerable to a time-of-check time-of-use (TOCTOU) race condition on transaction flags that allows unprivileged users to install packages as root and thus leads to a local privilege escalation. This is patched in version 1.3.5. A local unprivileged user can install arbitrary RPM packages as root, including executing RPM scriptlets, without authentication. The vulnerability is a TOCTOU race condition on `transaction->cached_transaction_flags` combined with a silent state-machine guard that discards illegal backward transitions while leaving corrupted flags in place. Three bugs exist in `src/pk-transaction.c`: 1. Unconditional flag overwrite (line 4036): `InstallFiles()` writes caller-supplied flags to `transaction->cached_transaction_flags` without checking whether the transaction has already been authorized/started. A second call blindly overwrites the flags even while the transaction is RUNNING. 2. Silent state-transition rejection (lines 873–882): `pk_transaction_set_state()` silently discards backward state transitions (e.g. `RUNNING` → `WAITING_FOR_AUTH`) but the flag overwrite at step 1 already happened. The transaction continues running with corrupted flags. 3. Late flag read at execution time (lines 2273–2277): The scheduler's idle callback reads cached_transaction_flags at dispatch time, not at authorization time. If flags were overwritten between authorization and execution, the backend sees the attacker's flags.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00546 46th percentileScored 2026-11-07
Public exploit Yes 2 exploit referencesTagged by NVD
Fix Fixed Red Hat: 13 advisories

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
PackageKitPackageKit1.0.2 – 1.3.4—No fix listedCNA
  • PackageKit VendorPackageKit Affected 1.0.2 – 1.3.4 Fixed in — No fix listed CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:packagekit_project:packagekit:*:*:*:*:*:*:*:*1.0.2 to before 1.3.5VulnerablePackageKit
  • cpe:2.3:a:packagekit_project:packagekit:*:*:*:*:*:*:*:* Versions 1.0.2 to before 1.3.5 Vulnerable ·PackageKit

Remediation

Red Hat 13 advisories

  • RHSA-2026:22146 Released 2026-06-01 · Red Hat rating Important
    PackageKit security update
    • Red Hat Enterprise Linux Server (v. 7 ELS) PackageKit-1.1.10-2.el7_9.1, PackageKit-command-not-found-1.1.10-2.el7_9.1, PackageKit-glib-1.1.10-2.el7_9.1 +5
    • Red Hat Enterprise Linux Server Optional (v. 7 ELS) PackageKit-1.1.10-2.el7_9.1, PackageKit-1.1.10-2.el7_9.1.ppc, PackageKit-cron-1.1.10-2.el7_9.1 +3
  • RHSA-2026:19601 Released 2026-05-20 · Red Hat rating Important
    PackageKit security update
    • Red Hat Enterprise Linux AppStream EUS (v. 10.0) PackageKit-1.2.8-8.el10_0.1, PackageKit-command-not-found-1.2.8-8.el10_0.1, PackageKit-glib-1.2.8-8.el10_0.1 +2
    • Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) PackageKit-glib-devel-1.2.8-8.el10_0.1
  • RHSA-2026:19454 Released 2026-05-20 · Red Hat rating Important
    PackageKit security update
    • Red Hat CodeReady Linux Builder EUS (v.9.4) PackageKit-glib-devel-1.2.6-1.el9_4.1
    • Red Hat Enterprise Linux AppStream EUS (v.9.4) PackageKit-1.2.6-1.el9_4.1, PackageKit-command-not-found-1.2.6-1.el9_4.1, PackageKit-glib-1.2.6-1.el9_4.1 +2
Show 10 more Red Hat advisories
  • RHSA-2026:19354 Released 2026-05-19 · Red Hat rating Important
    PackageKit security update
    • Red Hat Enterprise Linux AppStream (v. 9) PackageKit-1.2.6-2.el9_8, PackageKit-command-not-found-1.2.6-2.el9_8, PackageKit-glib-1.2.6-2.el9_8 +2
    • Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) PackageKit-glib-devel-1.2.6-2.el9_8
  • RHSA-2026:19141 Released 2026-05-19 · Red Hat rating Important
    PackageKit security update
    • Red Hat Enterprise Linux AppStream (v. 10) PackageKit-1.2.8-8.el10_2, PackageKit-command-not-found-1.2.8-8.el10_2, PackageKit-glib-1.2.8-8.el10_2 +2
    • Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) PackageKit-glib-devel-1.2.8-8.el10_2
  • RHSA-2026:18031 Released 2026-05-18 · Red Hat rating Important
    PackageKit security update
    • Red Hat CodeReady Linux Builder EUS (v.9.6) PackageKit-glib-devel-1.2.6-1.el9_6.1
    • Red Hat Enterprise Linux AppStream EUS (v.9.6) PackageKit-1.2.6-1.el9_6.1, PackageKit-command-not-found-1.2.6-1.el9_6.1, PackageKit-glib-1.2.6-1.el9_6.1 +2
  • RHSA-2026:18036 Released 2026-05-18 · Red Hat rating Important
    PackageKit security update
    • Red Hat Enterprise Linux AppStream E4S (v.9.2) PackageKit-1.2.4-2.el9_2.1, PackageKit-command-not-found-1.2.4-2.el9_2.1, PackageKit-glib-1.2.4-2.el9_2.1 +2
  • RHSA-2026:18024 Released 2026-05-18 · Red Hat rating Important
    PackageKit security update
    • Red Hat Enterprise Linux AppStream E4S (v.9.0) PackageKit-1.2.4-2.el9_0.1, PackageKit-command-not-found-1.2.4-2.el9_0.1, PackageKit-glib-1.2.4-2.el9_0.1 +2
  • RHSA-2026:17561 Released 2026-05-14 · Red Hat rating Important
    PackageKit security update
    • Red Hat Enterprise Linux AppStream AUS (v.8.6) PackageKit-1.1.12-6.el8_6.1, PackageKit-command-not-found-1.1.12-6.el8_6.1, PackageKit-cron-1.1.12-6.el8_6.1 +3
    • Red Hat Enterprise Linux AppStream E4S (v.8.6) PackageKit-1.1.12-6.el8_6.1, PackageKit-command-not-found-1.1.12-6.el8_6.1, PackageKit-cron-1.1.12-6.el8_6.1 +3
    • Red Hat Enterprise Linux AppStream TUS (v.8.6) PackageKit-1.1.12-6.el8_6.1, PackageKit-command-not-found-1.1.12-6.el8_6.1, PackageKit-cron-1.1.12-6.el8_6.1 +3
  • RHSA-2026:17560 Released 2026-05-14 · Red Hat rating Important
    PackageKit security update
    • Red Hat Enterprise Linux AppStream E4S (v.8.8) PackageKit-1.1.12-6.el8_8.1, PackageKit-command-not-found-1.1.12-6.el8_8.1, PackageKit-cron-1.1.12-6.el8_8.1 +3
    • Red Hat Enterprise Linux AppStream TUS (v.8.8) PackageKit-1.1.12-6.el8_8.1, PackageKit-command-not-found-1.1.12-6.el8_8.1, PackageKit-cron-1.1.12-6.el8_8.1 +3
  • RHSA-2026:17558 Released 2026-05-14 · Red Hat rating Important
    PackageKit security update
    • Red Hat Enterprise Linux AppStream AUS (v.8.4) PackageKit-1.1.12-6.el8_4.1, PackageKit-command-not-found-1.1.12-6.el8_4.1, PackageKit-cron-1.1.12-6.el8_4.1 +3
    • Red Hat Enterprise Linux AppStream EUS EXTENSION (v.8.4) PackageKit-1.1.12-6.el8_4.1, PackageKit-command-not-found-1.1.12-6.el8_4.1, PackageKit-cron-1.1.12-6.el8_4.1 +3
  • RHSA-2026:11635 Released 2026-04-29 · Red Hat rating Important
    PackageKit security update
    • Red Hat Enterprise Linux AppStream (v. 8) PackageKit-1.1.12-8.el8_10, PackageKit-command-not-found-1.1.12-8.el8_10, PackageKit-cron-1.1.12-8.el8_10 +3
    • Red Hat Enterprise Linux CRB (v. 8) PackageKit-1.1.12-8.el8_10, PackageKit-glib-devel-1.1.12-8.el8_10
  • RHSA-2026:11504 Released 2026-04-29 · Red Hat rating Important
    PackageKit security update
    • Red Hat Enterprise Linux AppStream (v. 9) PackageKit-1.2.6-2.el9_7, PackageKit-command-not-found-1.2.6-2.el9_7, PackageKit-glib-1.2.6-2.el9_7 +2
    • Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) PackageKit-glib-devel-1.2.6-2.el9_7

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat CodeReady Linux Builder EUS (v.9.4)Fixed RHSA-2026:19454
Red Hat CodeReady Linux Builder EUS (v.9.6)Fixed RHSA-2026:18031
Red Hat Enterprise Linux AppStream (v. 10)Fixed RHSA-2026:19141
Red Hat Enterprise Linux AppStream (v. 8)Fixed RHSA-2026:11635
Red Hat Enterprise Linux AppStream (v. 9)Fixed RHSA-2026:11504, RHSA-2026:19354
Red Hat Enterprise Linux AppStream AUS (v.8.4)Fixed RHSA-2026:17558
Red Hat Enterprise Linux AppStream AUS (v.8.6)Fixed RHSA-2026:17561
Red Hat Enterprise Linux AppStream E4S (v.8.6)Fixed RHSA-2026:17561
Red Hat Enterprise Linux AppStream E4S (v.8.8)Fixed RHSA-2026:17560
Red Hat Enterprise Linux AppStream E4S (v.9.0)Fixed RHSA-2026:18024
Red Hat Enterprise Linux AppStream E4S (v.9.2)Fixed RHSA-2026:18036
Red Hat Enterprise Linux AppStream EUS (v. 10.0)Fixed RHSA-2026:19601
Red Hat Enterprise Linux AppStream EUS (v.9.4)Fixed RHSA-2026:19454
Red Hat Enterprise Linux AppStream EUS (v.9.6)Fixed RHSA-2026:18031
Red Hat Enterprise Linux AppStream EUS EXTENSION (v.8.4)Fixed RHSA-2026:17558
Red Hat Enterprise Linux AppStream TUS (v.8.6)Fixed RHSA-2026:17561
Red Hat Enterprise Linux AppStream TUS (v.8.8)Fixed RHSA-2026:17560
Red Hat Enterprise Linux CRB (v. 8)Fixed RHSA-2026:11635
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10)Fixed RHSA-2026:19141
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9)Fixed RHSA-2026:11504, RHSA-2026:19354
Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0)Fixed RHSA-2026:19601
Red Hat Enterprise Linux Server (v. 7 ELS)Fixed RHSA-2026:22146
Red Hat Enterprise Linux Server Optional (v. 7 ELS)Fixed RHSA-2026:22146
Not affected: 2 products
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-41651

References

  • TI-2020-12681 Packagekit's apt backend lets user install untrusted local packages CVSS 3.1HIGH 8.2
  • TI-2018-01024 Improper authentication in Red Hat PackageKit CVSS 3.0MEDIUM 5.5
  • TI-2011-02207 Incorrect permission assignment in packagekit CVSS 3.1MEDIUM 5.3
  • TI-2022-00886 Information disclosure in PackageKit CVSS 3.1LOW 3.3
  • TI-2020-12680 PackageKit error messages leak presence and mimetype of files to unprivileged users CVSS 3.1LOW 3.3
  • TI-2024-00195 Packagekitd: use-after-free in idle function callback CVSS 3.1LOW 3.3
See all 7 →

Sources