Chromium Project Finds 70% of Its Serious Security Bugs Are Memory Safety Problems

“Around 70% of our serious security bugs are memory safety problems,” the Chromium project announced this week. “Our next major project is to prevent such bugs at source.”

ZDNet reports: The percentage was compiled after Google engineers analyzed 912 security bugs fixed in the Chrome stable branch since 2015, bugs that had a “high” or “critical” severity rating. The number is identical to stats shared by Microsoft. Speaking at a security conference in February 2019, Microsoft engineers said that for the past 12 years, around 70% of all security updates for Microsoft products addressed memory safety vulnerabilities. Both companies are basically dealing with the same problem, namely that C and C++, the two predominant programming languages in their codebases, are “unsafe” languages….

Google says that since March 2019, 125 of the 130 Chrome vulnerabilities with a “critical” severity rating were memory corruption-related issues, showing that despite advances in fixing other bug classes, memory management is still a problem… Half of the 70% are use-after-free vulnerabilities, a type of security issue that arises from incorrect management of memory pointers (addresses), leaving doors open for attackers to attack Chrome’s inner components…

While software companies have tried before to fix C and C++’s memory management problems, Mozilla has been the one who made a breakthrough by sponsoring, promoting and heavily adopting the Rust programming language in Firefox… Microsoft is also heavily investing in exploring C and C++ alternatives⦠But this week, Google also announced similar plans as well… Going forward, Google says it plans to look into developing custom C++ libraries to use with Chrome’s codebase, libraries that have better protections against memory-related bugs. The browser maker is also exploring the MiraclePtr project, which aims to turn “exploitable use-after-free bugs into non-security crashes with acceptable performance, memory, binary size and minimal stability impact.”

And last, but not least, Google also said it plans to explore using “safe” languages, where possible. Candidates include Rust, Swift, JavaScript, Kotlin, and Java.