oss-sec mailing list archives
Re: Systemd vsock sshd
From: Greg Dahlman <dahlman () gmail com>
Date: Mon, 29 Dec 2025 12:53:45 -0700
I did reach out to the systemd team, while I was working with the kernel security team and I encouraged others to do so if they think it will be productive. There are sensitivities and frustrations that span all groups that make that conversation difficult, but I think someone with an established trust with the project could make forward progress. That said, disabling this bridge will impact systemd's attempt to enable zero config for VMs. The container ecosystem as a whole hasn't exactly demonstrated that they will reciprocate. In a perfect world the container runtimes would protect their use case from the remainder of the shared kernel by default, unfortunately that is not what we have today. I think if people with existing relationships reached out to the systemd team there could be a discussion on this specific issue, but it is completely understandable that when one use case appears to block your projects use case repeatedly, your willingness to make sacrifices will diminish over time. I would just ask that people who reach out to the team take the above into account. Greg On Mon, Dec 29, 2025 at 11:44 AM Pat Gunn <pgunn01 () gmail com> wrote:
Would it be productive to reach out to the systemd maintainers to ask them to have their software not do this and release a patch? This probably would break some software that depends on the bad behaviour, but the fallout from managing this may encourage them to think a little bit about security and good software design in the future (tempted to add several paragraphs of snark to this, but will omit). On Mon, 29 Dec 2025 at 13:33, Greg Dahlman <dahlman () gmail com> wrote:Thank you Benjamin, Yes, the kernel boot string is the only way to currently mitigate the listener. The L4 loopback issue, which is a trivial extension, can onlybemitigated by patching the kernel the way chromeOS did or reliablyfilteringaf address family 40 (af_vsock) at the CRI, bubblewrap, etc… level with seccomp. The current state of apparmor and SElinux will make filtering at thatlevelopportunistic at best. It should also be noted that adding the kernelbootstring will be a breaking change for users who expect the hypervisor to have ssh access to guests for administrative purposes. The trusted hypervisor, untrusted guest assumptions that vsock was based on are an important use case. For the listener specifically, a fix that would support both use cases would require modifying`systemd/systemd/src/ssh-generator/ssh-generator.c<https://github.com/systemd/systemd/blob/f76f0f99354b0485e3e13c2608bc26f969312687/src/ssh-generator/ssh-generator.c`to allow control of the socket-activated sshd listener through a configuration file. The ssh-generator is just emitting typical systemd socket activation unit files, and I think the path that would be most productive if the relevant stakeholders were willing or if the distro's were willing to to patch the upstream source. As af_vsock is a convenient socket() like interface, there are still some use cases/projects that will break, but the above is the path forwardthatseems to minimise the impact. Greg On Mon, Dec 29, 2025 at 10:17 AM Benjamin McMahon < benjamin.mcmahon () webpros com> wrote:To prevent the vsock-based sshd from auto-spawning, seehttps://www.freedesktop.org/software/systemd/man/devel/systemd-ssh-generator.htmlIn short: `systemd.ssh_auto=no` is the kernel-command-line settingwhichpersists after reboots. ~Benjamin ________________________________________ From: Jacob Bachmeyer <jcb62281 () gmail com> Sent: Sunday, December 28, 2025 10:11 PM To: oss-security () lists openwall com <oss-security () lists openwall com>; Greg Dahlman <dahlman () gmail com> Subject: Re: [oss-security] Systemd vsock sshd [You don't often get email from jcb62281 () gmail com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ] On 12/27/25 21:46, Greg Dahlman wrote:[...] **Systemd v256 change** - When the *openssh-server* package is installed on a VM with vsock support, systemd now automatically starts an *sshd* instance that listens on the **af_vsock** socketinthe **global network namespace** without any manual configuration.Obvious question: what manual configuration is required to kill that listener? -- Jacob
Current thread:
- Systemd vsock sshd Greg Dahlman (Dec 27)
- Message not available
- Re: Systemd vsock sshd yen-mummify-yeah (Dec 28)
- Message not available
- Re: Systemd vsock sshd Sam James (Dec 28)
- Re: Systemd vsock sshd Sam James (Dec 28)
- Re: Systemd vsock sshd Greg Dahlman (Dec 28)
- Re: Systemd vsock sshd Sam James (Dec 28)
- Re: Systemd vsock sshd Jacob Bachmeyer (Dec 28)
- Re: Systemd vsock sshd Benjamin McMahon (Dec 29)
- Re: Systemd vsock sshd Greg Dahlman (Dec 29)
- Re: Systemd vsock sshd Pat Gunn (Dec 29)
- Re: Systemd vsock sshd Greg Dahlman (Dec 29)
- Re: Systemd vsock sshd Jacob Bachmeyer (Dec 30)
- Re: Systemd vsock sshd Demi Marie Obenour (Dec 30)
- Re: Systemd vsock sshd Pat Gunn (Dec 31)
- Re: Systemd vsock sshd Benjamin McMahon (Dec 29)
- <Possible follow-ups>
- Systemd vsock sshd wish42offcl98 (Dec 30)
- Re: Systemd vsock sshd Greg Dahlman (Dec 30)
