cloudflare / cloudflare/quiche

Validate the QUIC fixed bit (0x40) on incoming packets

Open Beginner friendly
#2,557 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.