CVE-2026-41651

EUVD-2026-24742
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.
TOCTOU
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
8.8 HIGH
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 41%
Affected Products (NVD)
VendorProductVersion
packagekit_projectpackagekit
1.0.2 ≤
𝑥
< 1.3.5
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
packagekit
bookworm
vulnerable
bookworm (security)
1.2.6-5+deb12u1
fixed
bullseye
vulnerable
bullseye (security)
1.2.2-2+deb11u1
fixed
forky
1.3.5-1
fixed
sid
1.3.5-1
fixed
trixie
vulnerable
trixie (security)
1.3.1-1+deb13u1
fixed
openSUSE logo
openSUSE / SLES Releases
openSUSE Product
Release
PackageKit
suse enterprise server 12 SP3
1.1.3-24.23.1
fixed
suse enterprise server 12 SP5
1.1.3-24.23.1
fixed
suse enterprise server 15 SP4
1.2.4-150400.3.31.1
fixed
PackageKit-backend-zypp
suse enterprise server 12 SP3
1.1.3-24.23.1
fixed
suse enterprise server 12 SP5
1.1.3-24.23.1
fixed
suse enterprise server 15 SP4
1.2.4-150400.3.31.1
fixed
PackageKit-devel
suse enterprise server 12 SP5
1.1.3-24.23.1
fixed
suse enterprise server 15 SP4
1.2.4-150400.3.31.1
fixed
PackageKit-lang
suse enterprise server 12 SP3
1.1.3-24.23.1
fixed
suse enterprise server 12 SP5
1.1.3-24.23.1
fixed
suse enterprise server 15 SP4
1.2.4-150400.3.31.1
fixed
libpackagekit-glib2-18
suse enterprise server 12 SP3
1.1.3-24.23.1
fixed
suse enterprise server 12 SP5
1.1.3-24.23.1
fixed
suse enterprise server 15 SP4
1.2.4-150400.3.31.1
fixed
libpackagekit-glib2-devel
suse enterprise server 12 SP5
1.1.3-24.23.1
fixed
suse enterprise server 15 SP4
1.2.4-150400.3.31.1
fixed
typelib-1_0-PackageKitGlib-1_0
suse enterprise server 12 SP3
1.1.3-24.23.1
fixed
suse enterprise server 12 SP5
1.1.3-24.23.1
fixed
suse enterprise server 15 SP4
1.2.4-150400.3.31.1
fixed
Red Hat logo
Red Hat Enterprise Linux Releases
Red Hat Product
Release
PackageKit
RHEL 8
0:1.1.12-8.el8_10
fixed
RHEL 9
0:1.2.6-2.el9_7
fixed
PackageKit-command-not-found
RHEL 8
0:1.1.12-8.el8_10
fixed
RHEL 9
0:1.2.6-2.el9_7
fixed
PackageKit-cron
RHEL 8
0:1.1.12-8.el8_10
fixed
PackageKit-glib
RHEL 8
0:1.1.12-8.el8_10
fixed
RHEL 9
0:1.2.6-2.el9_7
fixed
PackageKit-glib-devel
RHEL 8
0:1.1.12-8.el8_10
fixed
RHEL 9
0:1.2.6-2.el9_7
fixed
PackageKit-gstreamer-plugin
RHEL 8
0:1.1.12-8.el8_10
fixed
RHEL 9
0:1.2.6-2.el9_7
fixed
PackageKit-gtk3-module
RHEL 8
0:1.1.12-8.el8_10
fixed
RHEL 9
0:1.2.6-2.el9_7
fixed