This shouldn't have happened: A vulnerability postmortem
A title that actually describes the post, mostly paraphrasing the first paragraph:<p><i>Reasons why this buffer overflow wasn&#x27;t caught earlier despite doing all the right things</i><p>And then to give those reasons:<p>- &quot;each component is fuzzed independently&quot; ... &quot;This fuzzer might have produced a SECKEYPublicKey that could have reached the vulnerable code, but as the result was never used to verify a signature, the bug could never be discovered.&quot;<p>- &quot;There is an arbitrary limit of 10000 bytes placed on fuzzed input. There is no such limit within NSS; many structures can exceed this size. This vulnerability demonstrates that errors happen at extremes&quot;<p>- &quot;combined [fuzzer] coverage metrics [...]. This data proved misleading, as the vulnerable code is fuzzed extensively but by fuzzers that could not possibly generate a relevant input.&quot;<p>The conclusion is, of course, to fix those problems if your code base also has them, but also &quot;even extremely well-maintained C&#x2F;C++ can have fatal, trivial mistakes&quot;.