libhdf5 computes a Jenkins checksum for every metadata cache image it writes and never verifies it on read.
Open
Component - C Library
HDFG-internal
- Dominant language
- C
- Stars
- 988
- Forks
- 355
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 12
Description
All checksum code is in `H5C__construct_cache_image_buffer`; `H5C__read_cache_image` and `H5C__reconstruct_cache_contents` have none. The image is genuinely loaded and its bodies replayed as authoritative metadata.
This not exploitable: anyone who can rewrite the image can rewrite the headers it shadows. What's lost is corruption detection -- the writer pays to compute a checksum the reader ignores, so silent bit-rot in a replayed metadata structure goes unnoticed as long as each entry stays individually well-formed. Containment is one hash over an already-resident buffer.
Contributor guide
Assessment
This issue has not been assessed yet.