I’m gonna take the burden (someone would do that eventually anyway) and ask: how many of those issues would have been completely prevented by using a safer language such as Rust? How many would have been mitigated? I’m not a system programmer and the article, while indeed interesting, can be a little obscure.
I really think this is the wrong way to look at issues like this. Software has bugs, some of which are security bugs. Whenever someone goes through the effort of looking at software from a security perspective, issues might get identified and resolved and as such there is an incremental increase in security. Switching languages requires a full rewrite, which is often not only impractical, it will introduce new bugs a…
Not true when those languages are ABI-compatible. E.g. I believe librsvg is introducing small amounts of Rust that can eventually become a gradual migration.
> it will introduce new bugs as the maturity of the software will plummet because of the rewrite.
Citation needed. I would expect a rewrite guided by an existing implementation (not the same thing as a rewrite aimed at achieving a from-scratch redesign) to result in fewer bugs as it would effectively be equivalent to a full code review, and that's before we take into account the difference-of-language effects.
> As such, new languages are unproven in the security area and there will be security bugs found there as well.
No. There are specific reasons C is so awful; it's not a question of maturity.
> Java and .NET don't have the same issues either but somehow nobody will ask about those :)
People are dumb. There's a popular myth that these languages are inherently slow, which combined with some genuine licensing issues means the OSS community doesn't use them, even though they'd be a perfect fit for OpenVPN-like processes.
> But then again, Rust introduces other bug types for which the future will tell whether they have a security impact or not: https://gankro.github.io/blah/only-in-rust/
No, read your link. Those issues happen only in unsafe code, and at absolute worst mean you're as badly off as you would be in C.
> software like Apache httpd and OpenSSH demonstrates clearly it can be done
Because those programs can go years at a time without a major security vulnerability? Oh wait, no they can't.
Switching languages is absolutely the answer, and the sooner we get over ourselves and get on with it the better.