The vulnerability lies in the misuse of Rust's matches! macro within the verify_content_digest function for both HTTP requests (HyperRequestDigest) and responses (HyperResponseDigest). The code intended to compare a computed digest with an expected digest from the Content-Digest header. However, the line if matches!(digest, _expected_digest) does not perform a value comparison. Instead, because _expected_digest starts with an underscore, it is treated as a wildcard pattern that binds to any value. Consequently, the check always returned true, effectively disabling the digest verification and allowing modified message bodies to pass validation. The patch in commit 65cbd19b395180a4bba09a89746c4b14ccb8d297 corrects this logical flaw by replacing the matches! macro with a direct equality comparison (digest == _expected_digest). A subsequent commit (5533f596c650377e02f4aa9e3eb8dba591b87370) further hardens the fix by implementing a constant-time comparison to prevent potential timing attacks.