8.8

CVE-2026-41651: packagekit_project packagekit

CVSS: 8.8v3.1HighModified
AliasesMGASA-2026-0180RHSA-2026:11504RHSA-2026:11635
Published 22-04-2026Last modified 15-07-2026

Vulnerability summary

CVE-2026-41651 is a high (CVSS 8.8) vulnerability in packagekit_project packagekit. EPSS estimates a 0.46% chance of exploitation in the next 30 days, higher than 38.5% of scored vulnerabilities. 2 public exploits are recorded.

Overall risk
45/100
0100
Medium · default modelHow is this calculated?
CVSS score
8.8/10
010
High · v3.1 (CVE.org)
EPSS score
0.46%
0%100%
Low · 0.00 pp in 30 days
KEVNot listedIn no KEV catalog
RansomwareNone recordedNo known use recorded
Public exploits2github, reference

Advisory lineage

Upstream 0 · Downstream 0 · Related 3

Timeline

  1. 22-04-2026
    PublishedVulnerability first disclosed.
  2. 15-07-2026
    Last modifiedVulnerability information updated.

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.

CVSS metrics

5 scores · 5 sources · 1 version

EPSS trend

Probability

0.46%

Chance of exploitation in the next 30 days

Percentile

39%

Versus all other CVEs

30-day change

0.00 pp

From 0.46% on 20-09-2026

20-09-202620-10-2026
EPSS score
0.46%

Known exploited

Compare KEV catalogs

Not in any of the 3 tracked catalogs.

Public exploits

2 found
  • githubUnverified

    Packagekit

    Maturity: poc

  • referenceUnverified

    Exploit Reference (github.security.telekom.com)

    Maturity: unknown

Weaknesses

CWE · root cause

Affected systems

Redhat15 products
  • PackageKit< 0:1.2.6-2.el9_7 | < 0:1.1.12-8.el8_10 | < 0:1.1.12-6.el8_4.1 | < 0:1.1.12-6.el8_8.1 | < 0:1.1.12-6.el8_6.1 | < 0:1.2.4-2.el9_0.1 | < 0:1.2.6-1.el9_6.1 | < 0:1.2.4-2.el9_2.1 | < 0:1.2.8-8.el10_2 | < 0:1.2.6-2.el9_8 | < 0:1.2.6-1.el9_4.1 | < 0:1.2.8-8.el10_0.1 | < 0:1.1.10-2.el7_9.1
  • PackageKit-command-not-found< 0:1.2.6-2.el9_7 | < 0:1.1.12-8.el8_10 | < 0:1.1.12-6.el8_4.1 | < 0:1.1.12-6.el8_8.1 | < 0:1.1.12-6.el8_6.1 | < 0:1.2.4-2.el9_0.1 | < 0:1.2.6-1.el9_6.1 | < 0:1.2.4-2.el9_2.1 | < 0:1.2.8-8.el10_2 | < 0:1.2.6-2.el9_8 | < 0:1.2.6-1.el9_4.1 | < 0:1.2.8-8.el10_0.1 | < 0:1.1.10-2.el7_9.1
  • PackageKit-command-not-found-debuginfo< 0:1.2.6-2.el9_7 | < 0:1.1.12-8.el8_10 | < 0:1.1.12-6.el8_4.1 | < 0:1.1.12-6.el8_8.1 | < 0:1.1.12-6.el8_6.1 | < 0:1.2.4-2.el9_0.1 | < 0:1.2.6-1.el9_6.1 | < 0:1.2.4-2.el9_2.1 | < 0:1.2.8-8.el10_2 | < 0:1.2.6-2.el9_8 | < 0:1.2.6-1.el9_4.1 | < 0:1.2.8-8.el10_0.1
  • PackageKit-cron< 0:1.1.12-8.el8_10 | < 0:1.1.12-6.el8_4.1 | < 0:1.1.12-6.el8_8.1 | < 0:1.1.12-6.el8_6.1 | < 0:1.1.10-2.el7_9.1
  • PackageKit-debuginfo< 0:1.2.6-2.el9_7 | < 0:1.1.12-8.el8_10 | < 0:1.1.12-6.el8_4.1 | < 0:1.1.12-6.el8_8.1 | < 0:1.1.12-6.el8_6.1 | < 0:1.2.4-2.el9_0.1 | < 0:1.2.6-1.el9_6.1 | < 0:1.2.4-2.el9_2.1 | < 0:1.2.8-8.el10_2 | < 0:1.2.6-2.el9_8 | < 0:1.2.6-1.el9_4.1 | < 0:1.2.8-8.el10_0.1 | < 0:1.1.10-2.el7_9.1
Debian1 product
  • packagekit< 1.2.6-5+deb12u1 | < 1.3.1-1+deb13u1 | < 1.3.5-1
Mageia1 product
  • packagekit< 1.2.6-2.1.mga9
Opensuse1 product
  • PackageKit&distro=openSUSE Tumbleweed< 1.3.5-1.1
Packagekit1 product
Packagekit_project1 product
Ubuntu1 product
  • packagekit< 0.8.17-4ubuntu6~gcc5.4ubuntu1.5+esm1 | < 1.1.9-1ubuntu2.18.04.6+esm1 | < 1.1.13-2ubuntu1.1+esm1 | < 1.2.5-2ubuntu3.1 | < 1.2.8-2ubuntu1.5 | < 1.3.1-1ubuntu1.1 | < 1.3.4-3ubuntu1

7 vendors · 21 products

References

49 links
Show all 49 references