[Bug 286812] Unexpected RST instead of ACK for unacceptable TCP segment
Date: Thu, 15 May 2025 02:58:15 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286812
Bug ID: 286812
Summary: Unexpected RST instead of ACK for unacceptable TCP
segment
Product: Base System
Version: 14.2-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Many People
Priority: ---
Component: kern
Assignee: bugs@FreeBSD.org
Reporter: huruinan0427@outlook.com
Created attachment 260422
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=260422&action=edit
pcap trace of this issue
I encountered a scenario that may indicate a deviation from the behavior
described in RFC 9293, Section 3.10.7.4:
"If an incoming segment is not acceptable, an acknowledgment should be sent in
reply. After sending the acknowledgment, drop the unacceptable segment and
return."
In the first test, I established a TCP connection and, in the ESTABLISHED
state, sent two invalid packets—first with an invalid SEQ number, which
correctly triggered an ACK response, and then with an invalid ACK number, which
triggered an RST. This behavior appears consistent with the RFC.
In the second test, using a new connection with a different client port, I sent
the first packet with an invalid SEQ number during the ESTABLISHED state. This
time, FreeBSD immediately responded with an RST instead of an ACK.
Interestingly, if I skip the first connection entirely and send only the
abnormal packet from the second test, FreeBSD behaves as expected, replying
with an ACK.
--
You are receiving this mail because:
You are the assignee for the bug.