OpenSSH 9.3/9.3p1
openssh.com
openssh.com
That said, re-implementations are always cool.
A major security problem in OpenSSH would be a huge issue, as it affects everyone at once.
If someone where to do a reimplementation in a memory-safe language, and let's face it, that's a sly way of saying Rust, it shouldn't be viewed as a replacement for OpenSSH, but as an alternative to existing along side it.
It happened once in OpenSSH (in the '00s), and that's it. Ever since, it got hardened. Same with OpenSSL's Heartbleed. We've adapted to these occurrences.
Especially since we know that upgrades can be quite slow, especially in the consumer space(if they are ever done at all).
Another worry, is now every platform uses OpenSSH (Microsoft, Apple and *nix all use OpenSSH).
22-ish years without a major security problem is a great track record though.
Reference: https://www.cvedetails.com/vulnerability-list.php?vendor_id=...
I remember people in the '90s and '00s being smug about still being on ssh.com, because something like 75% of vulnerabilities in SSH implementations for a long time were introduced only into OpenSSH.
I think its long life and limited scope is more of a factor to its security success than how good the coders were.
Once you get out of the simple case of "RCE on pre-auth sshd" OpenSSH is no longer looking as good. E.g. CVE-2019-611 is way underhyped, and the fact that it was only discovered in 2019 doesn't speak well for OpenSSH's audit process.
But for "is it safe to open OpenSSH to the world" I'd say "that's safer than anything else, sure". But that's a very narrow (though important) attack vector.
Safer languages are one of the things out of view for them.
At its best, this way of thinking about problems is invaluable because it can cure ills that otherwise affect everyone. OpenBSD has been very enthusiastic about identifying ways programs can avoid having privileges they don't need while retaining ergonomics for example. At its worst though it ignores both categorical improvements like Rust and very niche but targeted security features which don't fit OpenBSD's model like the Certificate Signing Request in PKIX (the document your Let's Encrypt software is just generating internally, once upon a time these were a big deal).
OpenBSD works very hard to enable the code signing your CSR to not need the same privileges as the code doing networking, or the code generating the keys - but it's arguably in vain because there's no need for the CSR to even be generated on the machine with the private key, they've welded a fortified cash box to the vending machine, everybody else just added a card reader. "Now nobody can steal the money!" "What money?".
It's not abandoned. I'm still trying to move the project forward. I've just been busy with life. I've moved the repo to an org and put a new name on it: https://github.com/kadeessh/kadeessh. Contributions and help are more than welcome. I'd love to evolve the project, but I need hands and feedback from users, which I haven't received much of.
I can't locate a good read on what they do right and how they've progressed since the original design (and maybe 'where' formal proof or memory safety - be it RIIR or good old Frama-C - might be the most impactful). But my googlefu is subpar these days...
https://github.com/gliderlabs/ssh
https://nest.pijul.com/pijul/thrussh
https://github.com/warp-tech/russh
And then there's going the other way...
https://2ton.com.au/HeavyThing/#sshechoserver
Ed: mirage microkernel project has an ocaml ssh lib: