GPU VulnDB

Database/Kernel, userspace & hypervisor

OpenSSH before 9.3: ssh-add loads smartcard keys into ssh-agent without the requested destination constraints

CVSS 9.8CVE-2023-28531Kernel, userspace & hypervisorcurated

Impact

From OpenSSH 8.9 through 9.2, ssh-add adds smartcard-backed keys to ssh-agent without applying the per-hop destination constraints the operator asked for. The constraint mechanism exists so that a forwarded agent can only be used to authenticate to the hosts on the intended path; silently dropping it means a key the operator believed was pinned to one hop can be used by anyone able to talk to the forwarded agent socket to authenticate anywhere that key is trusted. For operators who use hardware tokens and agent forwarding to reach jump hosts and then GPU nodes, this removes the control that was supposed to contain a compromised intermediate host. The flaw is in the client-side tooling, not in sshd, and it only affects smartcard keys - plain file-based keys get their constraints applied correctly. The NVD score of 9.8 with a network vector overstates it; a real attack needs access to the forwarded agent on a host in the path.

Who can reach it

An attacker with access to the forwarded ssh-agent socket on an intermediate host the operator has logged into - typically root on that host, or the same user. Requires the operator to have used ssh-add with destination constraints on a smartcard key on OpenSSH 8.9-9.2.

What to do

Upgrade OpenSSH to 9.3 or later, or take the distribution backport (Debian DSA-5586, Fedora, Gentoo GLSA 202307-01). This is a client-side package update on the hosts operators run ssh-add from - jump hosts, bastions and workstations - not a change to sshd on the GPU nodes, so no node drain is needed. Until it is rolled out, do not rely on destination constraints for smartcard keys; prefer not forwarding the agent at all, and use ProxyJump instead.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.