Hacker News new | past | comments | ask | show | jobs | submit

Sshole

https://sshhole.com
loading story #50380029
loading story #50379342
In-band signaling[1] strikes again. * should not have been used as special value, neither for "no password" in /etc/passwd nor "error while hashing the password" in crypt. I'm afraid we'll find many more of these abuses, specially in string manipulations. The null was ok, an exception (or equivalent) better, and Result<T> (or equivalent) best.

[1] https://en.wikipedia.org/wiki/In-band_signaling#Computer_dat...

loading story #50379004
This is a side-effect of Unix-y "it's all plain text" design that leans extremely heavily upon in-band signalling (among other design decisions).

If /etc/shadow was a JSON (or XML, even, although that would make me feel gross), this bug would have been much easier to see, because a field that reads '"hash": ""' sticks out a lot* more than a custom microformat that you don't understand.

With data structures, there's never "plain text" - it's all structured. The question is whether you want to use existing formats and tools, or create a new one for every tool and literally make footguns like this.

loading story #50379382
I'd say another UNIX-y thing - "C is good enough" - is part of the problem. C makes programming painful which results in all sorts of hacks.

E.g. in Pascal you can can define a record and then defined file of record to have typed I/O. I.e. it comes with built-in serialization format supported by compiler. Not a good one - but perhaps a step in a good direction.

OTOH C people starving for serialization often believe that `struct` byte layout made by a specific version of a compiler is a serialization format - a view not endorsed by the standard.

loading story #50379139
loading story #50378975
Above all, I’m a little sad that the musl developers decided to make a lot of “well it’s convenient” changes to core crypto functions — at least without the level of auditing that would have caught this! It’s tarnished their reputation in my eyes a little.
loading story #50378712
loading story #50378679
loading story #50379102
loading story #50378704
loading story #50379454
loading story #50379004
loading story #50378561
loading story #50379096
loading story #50380304
loading story #50379143
loading story #50380306
loading story #50378817
loading story #50378449
loading story #50379083
loading story #50378633
loading story #50378731
loading story #50380100
loading story #50378412
loading story #50379424
loading story #50378417
loading story #50379168
loading story #50379861
loading story #50380035
loading story #50379987
loading story #50379327
To be fair, I have less than zero sympathy for anyone who runs SSH on any platform without `PasswordAuthentication=no` in 2026.

Its not asking for trouble, it is there will be trouble, not if but when.

As for the people who say "well, I run SSH on port 942329053052". Well guess what, the bots make short work on that. We tried it at $work as an experiment, multiple bots found it in less than a couple of hours. That's why your SSH config must be hardened, preferably running on a hardened OS too.

loading story #50379231
loading story #50378857
loading story #50378724
loading story #50379142
loading story #50378762
loading story #50380047
loading story #50379796
loading story #50379151
loading story #50379353
loading story #50379708
loading story #50378697
loading story #50379216
loading story #50378650
loading story #50378678
loading story #50378368
loading story #50380124
So, nobody fuzz tested sshd before?!?!
loading story #50379294
loading story #50378721
loading story #50378451
loading story #50378787
loading story #50379130
loading story #50378800
> how did I ran into it? [...] i had agent swarms. a lot of them. let's not get into it

Can we please now normalize AI usage in development? Just some other day people asked for "NO AI used" badges for software as measure for quality, and praised i.e. NetBSD for being AI-free. Yes, we come from a phase of AI slop, but it has become obvious that there are plenty of legit usecases where AI beats human-only effort nowadays.

> Can we please now normalize AI usage in development?

1. It is already normalized outside of a tiny, but very vocal bubble that lives mostly on Bluesky (sometimes also on Reddit/HN/Mastodon).

2. I don't think that even the most staunch AI hater would object to using AI for security research as long as all the artifacts (code, docs) that were produced based on the research are human-written. "Yes, there is a bug in my program, but I refuse to fix it, because I know that you found it using AI" would be a pretty weird position. Not sure, how would you defend it.

loading story #50379334
loading story #50379269
loading story #50379192
loading story #50378553
loading story #50378673
loading story #50378372
loading story #50379745
loading story #50379986
loading story #50378911
loading story #50379120
loading story #50378437
loading story #50379064
loading story #50378549
{"deleted":true,"id":50378918,"parent":50378228,"time":1793885901,"type":"comment"}
loading story #50378869
loading story #50379351
loading story #50378476
loading story #50378331
loading story #50379179
loading story #50378580
loading story #50378492
loading story #50379966
loading story #50379988
loading story #50380097
loading story #50380227
loading story #50379116