Skip to content

Conversation

@tabudz
Copy link

@tabudz tabudz commented Dec 22, 2025

Summary

Our tool detected a potential vulnerability in src/external/zlib/crc32.c which was cloned from madler/zlib but did not receive the security patch applied. The original issue was reported and fixed under https://nvd.nist.gov/vuln/detail/cve-2016-9843.

Proposed Fix

Apply the same patch as the one in madler/zlib to eliminate the vulnerability.

Reference

https://nvd.nist.gov/vuln/detail/cve-2016-9843
madler/zlib@d1d5774

There was a small optimization for PowerPCs to pre-increment a
pointer when accessing a word, instead of post-incrementing. This
required prefacing the loop with a decrement of the pointer,
possibly pointing before the object passed. This is not compliant
with the C standard, for which decrementing a pointer before its
allocated memory is undefined. When tested on a modern PowerPC
with a modern compiler, the optimization no longer has any effect.
Due to all that, and per the recommendation of a security audit of
the zlib code by Trail of Bits and TrustInSoft, in support of the
Mozilla Foundation, this "optimization" was removed, in order to
avoid the possibility of undefined behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants