CVE-2026-41651

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

Published Apr 22, 2026 CVSS 3.1 · 8.8 High EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Ubuntu USN Ubuntu USN USN-8195-3 PackageKit vulnerability
References
Link Providers
http://www.openwall.com/lists/oss-security/2026/04/22/6 cve-icon
https://access.redhat.com/errata/RHSA-2026:11504 cve-icon
https://access.redhat.com/errata/RHSA-2026:11635 cve-icon
https://access.redhat.com/errata/RHSA-2026:17558 cve-icon
https://access.redhat.com/errata/RHSA-2026:17560 cve-icon
https://access.redhat.com/errata/RHSA-2026:17561 cve-icon
https://access.redhat.com/errata/RHSA-2026:18024 cve-icon
https://access.redhat.com/errata/RHSA-2026:18031 cve-icon
https://access.redhat.com/errata/RHSA-2026:18036 cve-icon
https://access.redhat.com/errata/RHSA-2026:19141 cve-icon
https://access.redhat.com/errata/RHSA-2026:19354 cve-icon
https://access.redhat.com/errata/RHSA-2026:19454 cve-icon
https://access.redhat.com/errata/RHSA-2026:19601 cve-icon
https://access.redhat.com/errata/RHSA-2026:22146 cve-icon
https://access.redhat.com/security/cve/CVE-2026-41651 cve-icon
https://bugzilla.redhat.com/show_bug.cgi?id=2460604 cve-icon
https://github.com/PackageKit/PackageKit/blob/04057883189efa225a7c785591aa87cb299782f8/src/pk-transaction.c#L2273-L2277 cve-icon cve-icon cve-icon
https://github.com/PackageKit/PackageKit/blob/04057883189efa225a7c785591aa87cb299782f8/src/pk-transaction.c#L4036 cve-icon cve-icon cve-icon
https://github.com/PackageKit/PackageKit/blob/04057883189efa225a7c785591aa87cb299782f8/src/pk-transaction.c#L873-L882 cve-icon cve-icon cve-icon
https://github.com/PackageKit/PackageKit/security/advisories/GHSA-f55j-vvr9-69xv cve-icon cve-icon cve-icon
https://github.security.telekom.com/2026/04/pack2theroot-linux-local-privilege-escalation.html cve-icon cve-icon cve-icon
https://nvd.nist.gov/vuln/detail/CVE-2026-41651 cve-icon
https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-41651.json cve-icon
https://www.cve.org/CVERecord?id=CVE-2026-41651 cve-icon
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Packagekit Project
Packagekit Project packagekit
CPEs cpe:2.3:a:packagekit_project:packagekit:*:*:*:*:*:*:*:*
Vendors & Products Packagekit Project
Packagekit Project packagekit
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title PackageKit vulnerable to TOCTOU Race on Transaction Flags leads to arbitrary package installation as root
Weaknesses CWE-367
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 15, 2026, 12:58 AM
Reserved
Apr 21, 2026, 11:58 PM
Status
Modified
Published
Apr 22, 2026, 2:17 PM
Modified
Nov 11, 2026, 11:10 PM
Severity
Important
Public date
Apr 22, 2026, 1:11 PM