Skip to content

More various fixes (F-*)#132

Merged
danielinux merged 14 commits into
wolfSSL:masterfrom
gasbytes:2026-06-04-findings-fixes
Jun 10, 2026
Merged

More various fixes (F-*)#132
danielinux merged 14 commits into
wolfSSL:masterfrom
gasbytes:2026-06-04-findings-fixes

Conversation

@gasbytes

Copy link
Copy Markdown
Contributor

bee1900 - expire every peer's session keyparis and staged packets in wolfguard_set_private_key so sessions authnticated under the old static identity do not survive a key rotation.
7ba9799 - hold wg_noise_consume_response key derivation in local buffers and commit chaining_key/hash to the handshake only after the response authenticates
8572893 preserve re-staged packets in wg_packet_send_staged
1ae2f17 - expire consumed cookie after WG_COOKIE_SECRET_MAX_AGE
2065c59 - gate wg_handle_data injection on a full ipv4 header, valid verseion and in-bounds total-length before the alloweddips lookup, closing three source-policy bypasses
962b0c2 - defer igmp query responses to a randomized per-membership timer (RFC 3376, section 5.2) instead of replying synchronously, coalescing query floods into one report per group
51f48f9 - back off dhcp discover/request/renew/rebind retransmissions exponentially by scaling the base timeout by 1<<dhcp_timeout_count up to a 64s cap via a shared dhcp_backoff_delay() helper, instead of retransmitting on a fixed ~2s cadence.
de9ed73 - clamp a peer-advertised tcp mss below the rfc 9293 floor of 536 up to tcp_default_mss in tcp_parse_options so a malicious tiny mss can no longer coerce wolfip into emitting 1-byte segments, and update the two flow tests that negotiated a sub-floor 512 mss to use above-floor values.
056519d - don't emit a forwarding time exceeded for ttl-expired icmp error datagrams this is per rfc 1812 section 4.3.2.7
1056cb7 - deliver a final cb_event_closed through wolfip_poll step 3 when a tcp socket with an armed callback is torn down involuntarily, so close() waiters are no longer starved by close_socket()'s memset.
3a54a3e - set the socket struct (tsocket) callbacks to null in sock_close this applies for both states established and close wait

gasbytes added 11 commits June 9, 2026 06:15
this applies for both states established and close wait
socket with an armed callback is torn down involuntarily, so close()
waiters are no longer starved by close_socket()'s memset.
floor of 536 up to tcp_default_mss in tcp_parse_options so a malicious tiny mss
can no longer coerce wolfip into emitting 1-byte segments, and update the two
flow tests that negotiated a sub-floor 512 mss to use above-floor values.
…ally by scaling the base timeout by 1<<dhcp_timeout_count up to a 64s cap via a shared dhcp_backoff_delay() helper, instead of retransmitting on a fixed ~2s cadence.
3376, section 5.2) instead of replying synchronously, coalescing query
floods into one report per group
in-bounds total-length before the alloweddips lookup, closing three
source-policy bypasses
…mmit chaining_key/hash to the handshake only after the response authenticates
…set_private_key so sessions authnticated under the old static identity do not survive a key rotation.
@gasbytes gasbytes self-assigned this Jun 10, 2026
@gasbytes gasbytes force-pushed the 2026-06-04-findings-fixes branch from 7d48c0e to d7b2f34 Compare June 10, 2026 14:25
@gasbytes gasbytes force-pushed the 2026-06-04-findings-fixes branch from 119db10 to fb0ad86 Compare June 10, 2026 16:08
@gasbytes gasbytes marked this pull request as ready for review June 10, 2026 19:41
@gasbytes gasbytes requested a review from danielinux June 10, 2026 19:41
@gasbytes gasbytes assigned danielinux and unassigned gasbytes Jun 10, 2026
@danielinux danielinux merged commit 364f95f into wolfSSL:master Jun 10, 2026
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants