I like the clarification:
Let me also touch this subject while talking security problems. This bug, the oldest so far in curl history, was a plain logic error and would not have been avoided had we used another language than C.
Otherwise, about 40% of all security problems in curl can be blamed on us using C instead of a memory-safe language. 50% of the high/critical severity ones.
Almost all of those C mistakes were done before there even existed a viable alternative language – if that even exists now.
I didn’t look at the community and was expecting to see a decade old woodlouse.
Technically, it exists, just in pieces. You probably have ingested some of those pieces.
When looking at the CVE itself, it seems like a bug that only gets triggered on a very specific corner case that neither the client or website alone can trigger.
Of course, it’s good that it gets reported and fixed, but I’m pretty sure these kind of bugs can only get caught by people randomly stumbling on them
Someone earned a tidy 540 bucks stumbling onto this one. Not bad.
I wonder whether some careful specifications and model checking could have found this.
As the article says, the problem was the logic. They had thousands of hours of model checking.
They had 1000s of hours of fuzz testing. Model checking means something different.