cloudflare / cloudflare/quiche
Validate the QUIC fixed bit (0x40) on incoming packets
- Dominant language
- Rust
- Stars
- 11.8k
- Forks
- 1.1k
- Avg merge
- 21h 9m
- Merged PRs (30d)
- 6
Description
`Header::from_bytes()` does not validate the QUIC fixed bit (0x40) on received packets. The bit is currently only set when encoding outgoing packets.
[RFC 9000](https://datatracker.ietf.org/doc/html/rfc9000#section-17.2-3.4.1) requires packets with a cleared fixed bit to be discarded. Encrypted packets will generally fail authentication later, but this unnecessarily reaches the crypto path.
Contributor guide
Research direction
Start by locating Header::from_bytes() and reading how incoming packet headers are parsed. Check RFC 9000 section 17.2 for the fixed-bit requirement, then verify that packets with bit 0x40 cleared are discarded before reaching the crypto path. Done when the validation is covered by the relevant parser tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 72/100