2024-06-27
Joint Guidance on Memory Safety Bugs in Open Source Software
In December 2023, government agencies from the Five Eyes countries (Australia, Canada, New Zealand, the UK, and the US) published joint guidance offering steps for developing roadmaps to eliminating memory safety vulnerabilities. A new jointly published document from the US Cybersecurity and Infrastructure Security Agency (CISA), the FBI, Australia's Cyber Security Center (ACSC), and the Canadian Centre for Cybersecurity (CCCS) provides a starting point for these roadmaps by investigating the scale of memory safety risk in selected open-source software (OSS). According to the report, more than half of the 172 listed Open Source Security Foundation projects include code written in languages that are not memory-safe.
Editor's Note
In October of 2022, Consumer Reports released a report noting roughly 60 to 70 event of browser and kernel vulnerabilities, as well as security bugs in C/C++ code bases, are due to memory unsafety. Estimates are that there are as many as 25 million lines of open-source code which are written in memory unsafe languages. For years, developers have been encouraged to use tools to validate that code is safe and secure as well as memory safe. Not a lot of traction is being made on that path, so the other option is to create code using a memory safe language, even so care has to be taken to avoid traditional errors such buffer overflow.

Lee Neely
While this paper focuses on open source software, the percentages of commercial software using non memory-safe languages is likely much lower, if at all. Use this to start required all software (including SaaS) procurements to ask about current code/plans of all vendors and to include this as an evaluation criterion.

John Pescatore
Secure software development practices don't change overnight and the move to memory-safe languages will take time. Highlighting open-source software only validates the resource constraints they operate under and why the timeline to transition will be longer.

Curtis Dukes
It is not as though this problem is novel. It accounts for much of the software quality problem. That it persists is the issue.
