news.volyx.in

This shouldn't have happened: A vulnerability postmortem (googleprojectzero.blogspot.com)

938 points by trulyrandom · 1753 days ago · 481 comments on HN

Article summary

A vulnerability, known as BigSig, was discovered in Mozilla's Network Security Services (NSS) cryptography library, which is widely used. The bug is a simple buffer overflow that can cause memory corruption, and it was found using a combination of stack coverage and object isolation fuzzing techniques. The vulnerability was not caught by existing fuzzing and testing efforts, despite Mozilla's mature security team and extensive testing infrastructure. The bug has been resolved in NSS 3.73.0.

Main themes

  • Memory safety
  • Rust vs C
  • Security testing
  • Fuzzing techniques
  • Code rewriting
  • Language choice
  • Security exploits

What commenters say

  • Switching existing C code to Rust is a complex process that requires a full redesign of the code, but it can provide memory safety benefits.
  • Rust is not a silver bullet for security, and its benefits may not be compelling enough for some projects to warrant a rewrite.
  • The use of memory-safe languages like Rust can prevent certain types of security exploits, but it may not be a priority for all projects.
  • The discovery of the BigSig vulnerability highlights the importance of thorough testing and fuzzing, even for well-maintained codebases.
  • The transition from C to Rust is a gradual process that requires careful planning and execution, but it can be successful with the right approach.
  • Some argue that Rust's memory safety features are not enough to justify a rewrite of existing C code, while others believe it is a crucial step for improving security.
  • The effectiveness of Rust in preventing memory safety issues is still a topic of debate, with some arguing that it is not a guarantee against all security exploits.