A flaw was found in PackageKit. PackageKit skips the polkit authorization check for transactions carrying the SIMULATE (dry-run) flag. In the dnf5 backend, the RepoRemove handler ignores that contract and always executes the real transaction because its guard is written as (role == REPO_REMOVE || !SIMULATE), which is always true for RepoRemove. An unprivileged local user can therefore perform a genuine package uninstall while claiming to simulate. This vulnerability only affects systems using PackageKit with the dnf5 backend.
{
"binaries": [
{
"binary_name": "gir1.2-packagekitglib-1.0",
"binary_version": "1.2.5-2ubuntu3.1"
},
{
"binary_name": "gstreamer1.0-packagekit",
"binary_version": "1.2.5-2ubuntu3.1"
},
{
"binary_name": "libpackagekit-glib2-18",
"binary_version": "1.2.5-2ubuntu3.1"
},
{
"binary_name": "packagekit",
"binary_version": "1.2.5-2ubuntu3.1"
},
{
"binary_name": "packagekit-command-not-found",
"binary_version": "1.2.5-2ubuntu3.1"
},
{
"binary_name": "packagekit-docs",
"binary_version": "1.2.5-2ubuntu3.1"
},
{
"binary_name": "packagekit-gtk3-module",
"binary_version": "1.2.5-2ubuntu3.1"
},
{
"binary_name": "packagekit-tools",
"binary_version": "1.2.5-2ubuntu3.1"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-packagekitglib-1.0",
"binary_version": "1.2.8-2ubuntu1.5"
},
{
"binary_name": "gstreamer1.0-packagekit",
"binary_version": "1.2.8-2ubuntu1.5"
},
{
"binary_name": "libpackagekit-glib2-18",
"binary_version": "1.2.8-2ubuntu1.5"
},
{
"binary_name": "packagekit",
"binary_version": "1.2.8-2ubuntu1.5"
},
{
"binary_name": "packagekit-command-not-found",
"binary_version": "1.2.8-2ubuntu1.5"
},
{
"binary_name": "packagekit-docs",
"binary_version": "1.2.8-2ubuntu1.5"
},
{
"binary_name": "packagekit-gtk3-module",
"binary_version": "1.2.8-2ubuntu1.5"
},
{
"binary_name": "packagekit-tools",
"binary_version": "1.2.8-2ubuntu1.5"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-packagekitglib-1.0",
"binary_version": "1.3.4-3ubuntu1.2"
},
{
"binary_name": "gstreamer1.0-packagekit",
"binary_version": "1.3.4-3ubuntu1.2"
},
{
"binary_name": "libpackagekit-glib2-18",
"binary_version": "1.3.4-3ubuntu1.2"
},
{
"binary_name": "packagekit",
"binary_version": "1.3.4-3ubuntu1.2"
},
{
"binary_name": "packagekit-command-not-found",
"binary_version": "1.3.4-3ubuntu1.2"
},
{
"binary_name": "packagekit-docs",
"binary_version": "1.3.4-3ubuntu1.2"
},
{
"binary_name": "packagekit-gtk3-module",
"binary_version": "1.3.4-3ubuntu1.2"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-packagekitglib-1.0",
"binary_version": "0.8.17-4ubuntu6~gcc5.4ubuntu1.5+esm1"
},
{
"binary_name": "gstreamer1.0-packagekit",
"binary_version": "0.8.17-4ubuntu6~gcc5.4ubuntu1.5+esm1"
},
{
"binary_name": "libpackagekit-glib2-16",
"binary_version": "0.8.17-4ubuntu6~gcc5.4ubuntu1.5+esm1"
},
{
"binary_name": "packagekit",
"binary_version": "0.8.17-4ubuntu6~gcc5.4ubuntu1.5+esm1"
},
{
"binary_name": "packagekit-backend-aptcc",
"binary_version": "0.8.17-4ubuntu6~gcc5.4ubuntu1.5+esm1"
},
{
"binary_name": "packagekit-backend-smart",
"binary_version": "0.8.17-4ubuntu6~gcc5.4ubuntu1.5+esm1"
},
{
"binary_name": "packagekit-docs",
"binary_version": "0.8.17-4ubuntu6~gcc5.4ubuntu1.5+esm1"
},
{
"binary_name": "packagekit-gtk3-module",
"binary_version": "0.8.17-4ubuntu6~gcc5.4ubuntu1.5+esm1"
},
{
"binary_name": "packagekit-tools",
"binary_version": "0.8.17-4ubuntu6~gcc5.4ubuntu1.5+esm1"
},
{
"binary_name": "python3-packagekit",
"binary_version": "0.8.17-4ubuntu6~gcc5.4ubuntu1.5+esm1"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-packagekitglib-1.0",
"binary_version": "1.1.9-1ubuntu2.18.04.6+esm1"
},
{
"binary_name": "gstreamer1.0-packagekit",
"binary_version": "1.1.9-1ubuntu2.18.04.6+esm1"
},
{
"binary_name": "libpackagekit-glib2-18",
"binary_version": "1.1.9-1ubuntu2.18.04.6+esm1"
},
{
"binary_name": "packagekit",
"binary_version": "1.1.9-1ubuntu2.18.04.6+esm1"
},
{
"binary_name": "packagekit-command-not-found",
"binary_version": "1.1.9-1ubuntu2.18.04.6+esm1"
},
{
"binary_name": "packagekit-docs",
"binary_version": "1.1.9-1ubuntu2.18.04.6+esm1"
},
{
"binary_name": "packagekit-gtk3-module",
"binary_version": "1.1.9-1ubuntu2.18.04.6+esm1"
},
{
"binary_name": "packagekit-tools",
"binary_version": "1.1.9-1ubuntu2.18.04.6+esm1"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-packagekitglib-1.0",
"binary_version": "1.1.13-2ubuntu1.1+esm1"
},
{
"binary_name": "gstreamer1.0-packagekit",
"binary_version": "1.1.13-2ubuntu1.1+esm1"
},
{
"binary_name": "libpackagekit-glib2-18",
"binary_version": "1.1.13-2ubuntu1.1+esm1"
},
{
"binary_name": "packagekit",
"binary_version": "1.1.13-2ubuntu1.1+esm1"
},
{
"binary_name": "packagekit-command-not-found",
"binary_version": "1.1.13-2ubuntu1.1+esm1"
},
{
"binary_name": "packagekit-docs",
"binary_version": "1.1.13-2ubuntu1.1+esm1"
},
{
"binary_name": "packagekit-gtk3-module",
"binary_version": "1.1.13-2ubuntu1.1+esm1"
},
{
"binary_name": "packagekit-tools",
"binary_version": "1.1.13-2ubuntu1.1+esm1"
}
]
}