Skip to content

Add libFuzzer harnesses for the HTTP header and cache-index parsers (reland) - #509

Merged
xroche merged 2 commits into
masterfrom
p3-5-fuzz-tier2-reland
Jul 8, 2026
Merged

Add libFuzzer harnesses for the HTTP header and cache-index parsers (reland)#509
xroche merged 2 commits into
masterfrom
p3-5-fuzz-tier2-reland

Conversation

@xroche

@xroche xroche commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Relands #508 unchanged. It was merged while still targeting #507's branch, so its commit landed on fix-cache-ndx-oob rather than master and the harnesses never reached the tree. Review history is in #508; the leftover fix-cache-ndx-oob branch can be deleted once this lands.

xroche and others added 2 commits July 8, 2026 21:04
P3-5 fuzz Tier-2. Two more harnesses over hostile-input parsers that read
structured bytes into fixed buffers: fuzz-header drives treatfirstline plus
treathead on each response-header line (the Content-Type/-Encoding path hardened
in #506, and the cookie/Location/Content-Range fields); fuzz-cachendx drives the
hts-cache/*.ndx length-prefixed scan that cache_readex_new loads on --update.

fuzz-cachendx found the over-advance fixed in the parent commit; its seed corpus
carries the two crash reproducers as replay regressions. The cache harness stops
at the scan rather than the trailing coucal insert, whose murmur hash trips a
separate pointer-overflow the .ndx parser does not own.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Xavier Roche <roche@httrack.com>
fuzz-header.c and fuzz-cachendx.c are new in the 2026 audit cycle;
match the sibling *_selftest.c files rather than the boilerplate 1998.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Xavier Roche <roche@httrack.com>
@xroche
xroche merged commit a707d4b into master Jul 8, 2026
18 checks passed
@xroche
xroche deleted the p3-5-fuzz-tier2-reland branch July 8, 2026 19:44
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.

1 participant