File size: 1,227 Bytes
4951e76
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
 "item_id": "ker-bcrypt_split",
 "kernel": "bcrypt_split",
 "advisory": "RUSTSEC-2026-0199",
 "crate": "bcrypt",
 "pre_version": "0.19.1",
 "post_version": "0.19.2",
 "advisory_url": "https://github.com/Keats/rust-bcrypt/pull/103",
 "title": "Panic in `bcrypt::verify` on non-ASCII hash input",
 "source_file": "src/lib.rs",
 "function": "split_hash_salt_len",
 "signature": "pub fn split_hash_salt_len(hash: &[u8]) -> Result<usize, u8>",
 "spec_doc": "Validates a bcrypt hash string and returns the salt length (22). A valid hash is exactly 60 ASCII bytes; every other input must give Err, never panic.",
 "bug_class": "panic",
 "fidelity": "model_of_std",
 "extraction_note": "src/lib.rs split_hash: &str slicing at a non-char-boundary on non-ASCII 60-byte input",
 "witness_args": "&[b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', 0xA3, b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a', b'a']",
 "labels": {
  "buggy": "bcrypt@0.19.1",
  "reference": "bcrypt@0.19.2"
 }
}