PackageKit vulnerable to TOCTOU Race on Transaction Flags leads to arbitrary package installation as root
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
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| PackageKit | PackageKit | 1.0.2 – 1.3.4 | — | No fix listed | CNA |
- PackageKit VendorPackageKit Affected 1.0.2 – 1.3.4 Fixed in — No fix listed CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:packagekit_project:packagekit:*:*:*:*:*:*:*:* | 1.0.2 to before 1.3.5 | Vulnerable | PackageKit |
- 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 ImportantPackageKit 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 ImportantPackageKit 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 ImportantPackageKit 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 ImportantPackageKit 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 ImportantPackageKit 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 ImportantPackageKit 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 ImportantPackageKit 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 ImportantPackageKit 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 ImportantPackageKit 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 ImportantPackageKit 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 ImportantPackageKit 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 ImportantPackageKit 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 ImportantPackageKit 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 →
| Product | Status | Plan 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
- 2026-10-02 Threatist record created from CVE-2026-41651
References
Exploit 2
Other 3
- https://github.com/PackageKit/PackageKit/blob/04057883189efa225a7c785591aa87cb299782f8/src/pk-transaction.c#L2273-L2277
- https://github.com/PackageKit/PackageKit/blob/04057883189efa225a7c785591aa87cb299782f8/src/pk-transaction.c#L4036
- https://github.com/PackageKit/PackageKit/blob/04057883189efa225a7c785591aa87cb299782f8/src/pk-transaction.c#L873-L882
More Packagekit vulnerabilities
- 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
Sources
- CVE-2026-41651 · CVE Program
- CVE-2026-41651 · NVD
- FIRST EPSS
- CVE-2026-41651 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences