LiveActive security incident?Get immediate response
CVE Record

CVE-2026-41651: PackageKit vulnerable to TOCTOU Race on Transaction Flags leads to arbitrary package installation as root

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.

HighCVSS 8.8Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

CVE-2026-41651 lets a local unprivileged Linux user abuse PackageKit to install packages with root privileges. That can turn ordinary local access into full system control, including package script execution. The disclosed affected range is PackageKit 1.0.2 through 1.3.4, with a fix in 1.3.5.

Executive priority

Treat this as a high-priority Linux privilege-escalation issue. It is not described as remotely exploitable, but any attacker with local user access could potentially gain root. Patch shared, developer, kiosk, and multi-user systems first.

Technical view

PackageKit has a TOCTOU race in transaction flags. InstallFiles() can overwrite cached_transaction_flags after authorization or start, pk_transaction_set_state() silently rejects illegal backward transitions, and the scheduler later reads the corrupted flags at execution time. The result is unauthorized root-level RPM installation, including scriptlets.

Likely exposure

Exposure is mainly Linux systems using PackageKit versions 1.0.2 through 1.3.4, especially multi-user endpoints, workstations, shared servers, and environments where low-privileged local accounts exist. Vendor backports may change the visible package version, so distribution advisories matter.

Exploitation context

The source bundle describes local privilege escalation requiring an unprivileged local user. It does not show CISA KEV listing or cited evidence of active exploitation. The impact is still serious because successful exploitation can lead to root-level package installation and code execution through package scripts.

Researcher notes

Key evidence centers on src/pk-transaction.c: flag overwrite in InstallFiles(), silent rejection of backward state changes, and late flag consumption by the scheduler. The bundle names RPM package installation and scriptlets, but does not provide KEV or active exploitation evidence.

Mitigation direction

  • Upgrade PackageKit to 1.3.5 or a vendor package containing the CVE fix.
  • Apply applicable Red Hat security advisories where those products are in scope.
  • Prioritize systems allowing local shell access by untrusted or lower-trust users.
  • Follow distribution vendor guidance for backported fixes and package-specific remediation.
  • Reduce unnecessary local accounts on affected Linux systems until patched.

Validation and detection

  • Inventory installed PackageKit versions across Linux endpoints and servers.
  • Flag systems running PackageKit 1.0.2 through 1.3.4 as potentially affected.
  • Confirm whether vendor packages backport the CVE-2026-41651 fix.
  • Review Red Hat CVE and errata applicability for managed RHEL systems.
  • Verify patched systems report PackageKit 1.3.5 or vendor-fixed builds.
Prepared
Confidence
high
Sources
12

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-367: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
description · low confidence lookup

Privilege behavior lookup

The CVE wording references privilege impact, so privilege escalation and authorization behavior review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-41651 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
8.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

2CVSS vectors
5Timeline events
3ADP providers
20Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total

CVSS vector scores

2 official scores

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
8.8CVSS 3.1HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H26GitHub_M
8.8CVSS 3.1HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H26redhat-SADP

Vulnerability scoring details

Base CVSS 3.1 score

8.8High
CVSS 3.1 vector shape for CVE-2026-41651Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. ADP timelineredhat-SADP

    Made public.

  3. CVE publishedCVE Program

    The CVE record was published.

  4. ADP timelineredhat-SADP

    Reported to Red Hat.

  5. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CVECVE Program Container
CISA-ADPCISA ADP Vulnrichment
other:ssvc
redhat-SADPPackageKit: race condition vulnerability leads to arbitrary package installation as root
other:Red Hat severity ratingcvssV3_1
  • 2026-04-22T14:01:28.855Z: Reported to Red Hat.
  • 2026-04-22T13:11:40.174Z: Made public.

Source materials

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
PackageKitPackageKit>= 1.0.2, <= 1.3.4Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-367 · source CWE mapping

Time-of-check Time-of-use (TOCTOU) Race Condition

Time-of-check Time-of-use (TOCTOU) Race Condition represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.