Cockpit 330
Cockpit is the modern Linux admin interface. We release regularly.
Here are the release notes from Cockpit 330:
Web server: Increased sandboxing, setuid
removal, bootc
support
Cockpit’s web server already had low privilege levels, but previously used a setuid helper program cockpit-session
for user logins. That helper had restricted permissions and was only executable by Cockpit (through group ownership). Its sole purpose was to run at the system level and immediately drop permissions to log in to a specific user account. However, the binary was still setuid
, and setuid
should be avoided for security reasons.
This release removes the setuid
flag from the helper. cockpit-session
now starts via systemd socket activation, with the Cockpit web server connecting to it using a protected UNIX socket in the /run
directory. This approach enables tighter sandbox security by preventing the login session from being a direct descendant of the web server process. It also fixes Cockpit on bootc images.
All Cockpit components now run as dynamic users created at startup using the DynamicUser=
systemd feature. Existing systems may still have a cockpit-ws
user (and very old systems might even have associated TLS certificates). However, this cockpit-ws
user is no longer required and can be safely deleted.
Development: New install mode using systemd-sysext
To simplify development, a new build tool can install Cockpit as a systemd-sysext (system extension). This enables testing all parts of Cockpit (web server, login page, systemd units, and bridge) directly on the host system, safely and quickly, without modifying the disk or having to use a virtual machine. Installation is temporary in /run/extensions/
and cleared on reboot.
Read the documentation for detailed instructions.
Try it out
Cockpit 330 is available now: