July 1st, 2024

OpenSSH Race condition resulting in potential remote code execution

OpenSSH 9.8, released on July 1, 2024, addresses critical security issues like ObscureKeystrokeTiming vulnerabilities in sshd(8) and ssh(1), plans to deprecate DSA support, and introduces penalties for failed authentications. Various improvements included.

Read original articleLink Icon
OpenSSH Race condition resulting in potential remote code execution

OpenSSH 9.8 was released on July 1, 2024, with critical security fixes for vulnerabilities in sshd(8) and ssh(1) ObscureKeystrokeTiming. The sshd(8) vulnerability could allow arbitrary code execution with root privileges on certain systems. The ssh(1) bug could reveal real keystrokes to passive observers. OpenSSH plans to deprecate DSA support in early 2025 due to its inherent weaknesses. The release introduces penalties for client addresses failing authentication in sshd(8) and disables DSA by default at compile time. Various bug fixes and improvements have been made, including changes to log messages, stricter validation in ssh-keysign(8), and enhancements to sftp-server(8). The release also includes portability improvements and clarifications in documentation. Users are encouraged to update to OpenSSH 9.8 to benefit from these security enhancements and bug fixes.

Link Icon 7 comments
By @sebstefan - 4 months
>A critical vulnerability in sshd(8) was present in Portable OpenSSH versions between 8.5p1 and 9.7p1 (inclusive) that may allow arbitrary code execution with root privileges.

FYI that's every version published after 2021-03-03

That's got to be 99% of all linux machines in the world with an ssh daemon running right?

https://www.openssh.com/releasenotes.html

By @ggeorg - 4 months
By @ggeorg - 4 months
We discovered a vulnerability (a signal handler race condition) in OpenSSH's server (sshd): if a client does not authenticate within LoginGraceTime seconds (120 by default, 600 in old OpenSSH versions), then sshd's SIGALRM handler is called asynchronously, but this signal handler calls various functions that are not async-signal-safe (for example, syslog()). This race condition affects sshd in its default configuration.

So SIGALRM because of the timer firing?

Out of curiosity... any rust sshd implementations? I found libraries, but no plug&play replacement for openssh?

By @alberth - 4 months
> Only two remote holes in the default install, in a heck of a long time!

As someone who doesn't know this kind of stuff well, will this cause OpenBSD to have to update the statement above?

https://www.openbsd.org

EDIT:

TFA says:

> OpenBSD is not vulnerable.

By @withinboredom - 4 months
We have to use this exploit to update a critical raspberry pi that nobody seems to have keys to...