[Pkg-utopia-maintainers] Bug#1125141: polkitd: polkit-agent-helper-1 missing setuid bit
Niklas Cathor
niklas.cathor at gmx.de
Fri Jan 9 18:15:06 GMT 2026
On 1/9/26 6:39 PM, Simon McVittie wrote:
> In polkitd version 127 when running under systemd, it is correct for
> this helper to *not* be setuid root, so making it setuid root is not
> necessarily the right fix.
>
> I suspect that the problem here is:
>
> - you recently upgraded polkitd and related packages from an older
> version
> to v127 (please check /var/log/apt/ to find out)
> - you were already running gnome-software before the upgrade
> - therefore gnome-software had already loaded libpolkit-* from version
> 126 or older
> - and in those versions of polkitd, the helper *did* need to be setuid
> root, and the libraries had a check for this
> - so when those libraries check the permissions on the helper, the
> now-outdated check fails
Indeed, that sounds plausible. According to the apt logs, I updated
polkit ~2 weeks ago, and it's not unlikely that gnome-software was still
running since then.
I just removed the setuid bit from the polkit-agent-helper, restarted
the system, and now I'm no longer able to reproduce the issue.
> There is probably a way to make this transition more graceful without
> introducing additional security risk, but I don't know what it would
> be. Perhaps new installations of version >= 127 should make the
> helper not be setuid root, but upgrades from version < 127 to version
> >= 127 should check whether it was setuid during the preinst, and if
> yes, create a flag-file in /run telling the postinst to keep it setuid
> until after the next reboot, at which point the old libraries have
> definitely been unloaded and therefore the postinst can stop doing
> that for future upgrades?
>
> But that seems like significant complexity (therefore risk of bugs),
> and the worst-case-scenario bug here is a root privilege escalation
> vulnerability, so maybe not that.
>
Yeah, it sounds quite complex for an issue that's probably not very
common. I feel like gnome-shell could be handling the whole situation
more gracefully though. Or maybe the polkit library could detect that
there is a newer polkitd running, and produce some sort of error? (not
sure if that makes sense -- I don't know anything about the
compatibility guarantees between polkitd and polkit library versions).
Anyway, thanks for your feedback, feel free to close this bug :)
-niklas
More information about the Pkg-utopia-maintainers
mailing list