HDFGroup / HDFGroup/hdf5

libhdf5 computes a Jenkins checksum for every metadata cache image it writes and never verifies it on read.

Open
#6,611 0 comments 0 reactions 1 assignee Claimed by @jhendersonHDF View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.