
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-19816 is an incorrect authorization vulnerability in PackageKit's dnf5 backend that allows an unprivileged local user to uninstall packages without polkit authorization. The flaw exists in PackageKit versions 1.3.4 through 1.3.6, and was fixed in v1.4.0. It was reported by Vivek Parikh of BreachX Zero Day Labs, disclosed on September 9, 2026, and carries a CVSS v3.1 base score of 7.1 (High) (Red Hat CVE, GitHub Advisory). Red Hat Enterprise Linux is not affected as it ships PackageKit 1.2.x with the classic dnf backend (Red Hat CVE).
The root cause is CWE-863 (Incorrect Authorization): PackageKit's daemon intentionally skips polkit authorization for transactions flagged as SIMULATE (dry-run), but the dnf5 backend's dnf5_repo_thread() function contains a logic error in its guard condition — (role == REPO_REMOVE || !SIMULATE) — which is always true inside the REPO_REMOVE branch, causing trans.download() and trans.run() to execute unconditionally regardless of the SIMULATE flag (GitHub Advisory, Red Hat Bugzilla). An attacker exploits this by invoking the RepoRemove D-Bus method with the PK_TRANSACTION_FLAG_ENUM_SIMULATE flag set, bypassing the polkit prompt entirely while triggering a real package removal (GitHub Advisory). The fix in commit 33be77b restructures the guard to explicitly return early when SIMULATE or ONLY_DOWNLOAD flags are set, preventing any system modification (GitHub Commit).
Successful exploitation allows any unprivileged local user to remove RPM packages from the system without authentication, bypassing polkit's authorization framework entirely. With autoremove=true, an attacker can remove all packages installed from a targeted repository and its sibling repo IDs sharing the same .repo file, potentially destabilizing critical system components. The vulnerability has high integrity and availability impact — it can be used to sabotage system functionality or remove security-relevant packages — but does not provide arbitrary package installation, code execution as root, or direct data exfiltration (Red Hat CVE, GitHub Advisory).
A proof-of-concept (PoC) exploit using Python's dbus-python/PyGObject libraries is publicly available in the GitHub Security Advisory, demonstrating exploitation via the org.freedesktop.PackageKit.Transaction.RepoRemove D-Bus method with the SIMULATE flag (GitHub Advisory). Exploitation requires only low privileges (local user access) and no user interaction, making it straightforward for any local attacker on an affected Fedora system. No in-the-wild exploitation or threat actor attribution has been reported as of the disclosure date, and the CVE is not listed in the CISA KEV catalog. The vulnerability was discovered using Typhon AI Mil v2 by Vivek Parikh of BreachX Zero Day Labs (Red Hat CVE).
busctl get-property org.freedesktop.PackageKit /org/freedesktop/PackageKit org.freedesktop.PackageKit BackendName — the output must be dnf5.repo_id of the repository whose packages you wish to remove (e.g., via pkcon repo-list).dbus-python/PyGObject, connect to the system D-Bus and call org.freedesktop.PackageKit.CreateTransaction() to obtain a transaction object path.ti.RepoRemove(dbus.UInt64(SIMULATE), "TARGET_REPO_ID", True) where SIMULATE = 1 << 2 (value 4). The daemon skips polkit authorization because the SIMULATE flag is set.trans.download() and trans.run(), performing a real package removal with root privileges and no polkit prompt.rpm -q <package>) — the system is modified without any authorization challenge (GitHub Advisory)./var/log/messages or journalctl) showing org.freedesktop.PackageKit RepoRemove calls from unprivileged users without a corresponding polkit authorization event; PackageKit daemon logs showing Starting transaction download... and Starting transaction execution... for a SIMULATE-flagged transaction.rpm -Va or package manager history (dnf history); missing .repo files in /etc/yum.repos.d/ or removed packages that were not explicitly uninstalled by an administrator.pkcon or D-Bus calls to org.freedesktop.PackageKit from non-root, non-admin user sessions, particularly with the RepoRemove method and autoremove=true.Upgrade PackageKit to version 1.4.0 or later, which contains the fix in commit 33be77b that correctly handles the SIMULATE flag in the dnf5 RepoRemove handler (GitHub Commit, GitHub Advisory). Red Hat Enterprise Linux users are not affected and do not need to take action (Red Hat CVE). As a temporary workaround on affected Fedora systems, administrators can restrict D-Bus access to the PackageKit service for unprivileged users via polkit rules, or disable the PackageKit daemon if package management by non-admin users is not required.
Red Hat Product Security coordinated the disclosure and confirmed that RHEL is not affected due to its use of the classic dnf backend (Red Hat CVE). The vulnerability was discovered using AI-assisted security tooling (Typhon AI Mil v2) by BreachX Zero Day Labs, which is notable as an example of AI-aided vulnerability research (GitHub Advisory). No significant broader media coverage or social media discussion has been identified at this time.
Fix availability across major Linux distributions and their releases.
bionic (esm-infra)
packagekit
devel
packagekit
focal (esm-infra)
packagekit
jammy
packagekit
noble
packagekit
resolute
packagekit
xenial (esm-infra-legacy)
packagekit
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."