Skip to content

QUIC: fix safety issues found by fuzzing - #157

Merged
rpaulo merged 1 commit into
apple:mainfrom
rpaulo:quic-fuzzer-fixes
Sep 17, 2026
Merged

rpaulo merged 1 commit into
apple:mainfrom
rpaulo:quic-fuzzer-fixes

Conversation

@rpaulo

@rpaulo rpaulo commented Sep 17, 2026

Copy link
Copy Markdown
Contributor
  • Stop processing coalesced packets and frames once the connection has reached a terminal state, avoiding use of torn-down per-connection state (e.g. crypto) after a graceful or error close
  • Finalize embedded frames via new QUICFrame.discard when rejecting a frame before processFrame, preventing a fatal precondition
  • Clear crypto reassembly queues on teardown and guard TLS restart on missing TLS options during INITIAL retransmit
  • Gate transport parameter and stateless reset token error logging behind DisableErrorLogging for fuzzing builds

- Stop processing coalesced packets and frames once the connection has
  reached a terminal state, avoiding use of torn-down per-connection
  state (e.g. crypto) after a graceful or error close
- Finalize embedded frames via new `QUICFrame.discard` when rejecting a
  frame before `processFrame`, preventing a fatal precondition
- Clear crypto reassembly queues on teardown and guard TLS restart on
  missing TLS options during INITIAL retransmit
- Gate transport parameter and stateless reset token error logging
  behind `DisableErrorLogging` for fuzzing builds
@rpaulo rpaulo added the 🔨 semver/patch No public API change. label Sep 17, 2026
@rpaulo

rpaulo commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

Decided to separate the QUIC bug fixes from #147.

@rpaulo
rpaulo merged commit da21ade into apple:main Sep 17, 2026
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔨 semver/patch No public API change.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants