Would you want to audit 429,699 lines of code?
OpenSSL's code is right here to examine – and the theory goes that "given enough eyeballs, all bugs are shallow," meaning that by making the blueprints public, flaws should be quickly spotted and fixed. But Heartbleed has shown that perhaps just two sets of eyes – Seggelmann's and OpenSSL core developer Dr Stephen Henson, who committed the heartbeat update – studied the faulty code before it was blindly hoovered up by other software makers and developers. And for such a critical package, that doesn't seem right.
"Unfortunately, even the OpenSSL developer who conducted the review of the code did not notice the missing check," said Seggelmann. "Thus, the faulty code was adopted in the development version, which later became the published version."
Already people are wondering out loud why more money is not being thrown at OpenSSL, assuming that will do the trick of fixing its bugs. Freeware disk-encryption tool TrueCrypt, favored by NSA whistleblower Ed Snowden, is being audited for vulnerabilities after security researchers raised nearly $60,000 in donations to fund the effort, proving there is a demand for the scrutiny of freely available software.
But auditing OpenSSL is a daunting task: it has 429,699 lines of code according to a SLOCCount analysis, about 73 per cent of which is in C, and its code is, shall we say, non-trivial in places. It would perhaps cost about $15.7m to develop from scratch with a team of 35 programmers over three years.
The fallout from this tiny but devastating bug
Various flavors of the Linux operating system potentially shipped a broken OpenSSL code, including Debian Wheezy, Ubuntu 12.04.4 LTS, OpenBSD 5.3, FreeBSD 10.0, and OpenSUSE 12.2; OpenBSD leader Theo de Raadt had some choice words about the bug. Apple's OS X and iOS software, and its websites, were not vulnerable, and neither were Microsoft Windows and the Azure cloud simply because Redmond uses its own SSL/TLS suite.
Google's Android 4.1.1 is vulnerable, which affects a large number of mobile phones. The web king also had to patch its Cloud SQL service and Google Search Appliances, plus its web services: Search, Gmail, YouTube, Wallet, Play, Apps, and App Engine. Amazon also had to patch its cloud services. Google and Amazon users should pick new passwords just in case they were leaked by Heartbleed.
Websites Facebook, If This Then That, Tumblr, Yahoo! and Yahoo! Mail all had to update their servers to splat the data-leaking bug, and all urge their users to now change their account passwords.
El Reg tried to contact Dr Henson for comment, but he was not available to respond immediately. ®
Updated to add at 0229 UTC, April 12
* Cloudflare challenged the world to extract its private SSL key from an Nginx 1.5.13 web server linked against OpenSSL 1.0.1.f on Ubuntu Linux 13.10 x86_64. And two people managed to do exactly that, using the Heartbleed vulnerability.
"We confirmed that both of these individuals have the private key and that it was obtained through Heartbleed exploits," wrote the online content distribution network biz. "We rebooted the server at 3:08PST, which may have contributed to the key being available in memory, but we can’t be certain."