Invoering
OpenSSH is een implementatie van de SSH-protocolsuite en biedt een gecodeerd en geverifieerd transport voor een verscheidenheid aan services, waaronder externe shell-toegang en SFTP.
In getroffen versies van OpenSSH, met standaard sshd-configuratie, bestaat er een race condition die een vastberaden aanvaller kan misbruiken om niet-geverifieerde externe code als root uit te voeren. Race condition-kwetsbaarheden zijn kwetsbaarheden waarbij het ongedefinieerde gedrag en dus de mogelijke exploitatie alleen mogelijk is als de code van de kwetsbare applicatie wordt geactiveerd in (een) bepaalde volgorde(n), wat afhangt van de juiste timing van de triggers.
Invloed
Tot nu toe is exploitatie alleen aangetoond onder laboratoriumomstandigheden met een op maat gemaakte exploit op 32-bits systemen, wat gemiddeld 6 – 8 uur duurt bij continue verbindingen tot het maximum dat de server accepteert, namelijk 100 met de standaard sshd-configuratie. Aangenomen wordt dat het exploiteren van 64-bit onder laboratoriumomstandigheden mogelijk is, maar moeilijker (vanwege ASLR). Omdat het exploiteren van een raceconditie afhankelijk is van de timing, is het exploiteren van een systeem via internet moeilijker dan onder laboratoriumomstandigheden vanwege de variabiliteit die internet introduceert bij de levering van netwerkpakketten. Bovendien moet de exploit worden aangepast en afgestemd, afhankelijk van het netwerk en systeem.
Hieruit kunnen we concluderen dat de exploitatie een vastberaden aanvaller en veel tijd vergt (meer dan 8 uur voor 64-bits systemen, waarschijnlijk veel meer). De exploitatiepoging zou in de monitoring zichtbaar worden door het grote aantal gelijktijdige verbindingen of beschikbaarheidsproblemen van ssh.
Betrokken Versies
Van 8.5p1 tot en met 9.7p1
Vaste versie: 9.8p1
Niet getroffen: OpenSSH-pakketten van Ubuntu 24.04 en OpenBSD
Sanering
– Upgrade naar OpenSSH 9.8p1
– Upgrade naar een gepatchte OpenSSH-versie die wordt gedistribueerd door uw distro, Ubuntu en Debian hebben deze uitgebracht
– Als sshd niet kan worden bijgewerkt, kan deze raceconditie worden verholpen door LoginGraceTime op 0 te zetten in /etc/ssh/sshd_config en sshd opnieuw te starten. Dit maakt sshd kwetsbaar voor een Denial of Service (de uitputting van alle MaxStartups-verbindingen), maar maakt het veilig voor de uitvoering van externe code die in dit advies wordt gepresenteerd.