CVE-2026-80890: sctp: reject stale cookies with mismatched verification tags
In the Linux kernel, the following vulnerability has been resolved:
sctp: reject stale cookies with mismatched verification tags
sctpunpackcookie() skips cookie expiration checks whenever an association already exists. This is broader than the exception in RFC 9260 Section 5.2.4.
For an existing association, Section 5.2.4 permits an expired State Cookie only when both Verification Tags in the cookie match the current association. Otherwise, the packet SHOULD be discarded and a Stale Cookie ERROR MUST be sent.
The broad check lets an expired Action A restart cookie reach sctpsfdodupcooka(). In a runtime test with the default 60 second cookie lifetime, replaying such a cookie after 65 seconds returned a COOKIE-ACK and restarted the association.
Check cookie expiration unless both Verification Tags match. This preserves the Action D exception for a lost COOKIE ACK while rejecting expired cookies in all other cases.
Affected Software
Event History
Frequently Asked Questions
What conditions are required to trigger the issue?
An attacker needs to replay an expired SCTP Action A restart cookie to a host that already has the corresponding SCTP association. The cookie's verification tags must not both match the current association; the documented test replayed a cookie after the default 60-second lifetime had elapsed.
Are default SCTP cookie settings affected?
Yes. The issue was demonstrated using the default 60-second SCTP cookie lifetime, with a replay after 65 seconds causing a COOKIE-ACK and restarting the association.
What is the observable sign that a system is vulnerable?
A vulnerable system can accept an expired restart cookie with mismatched verification tags for an existing association, respond with COOKIE-ACK, and restart that association. Correct behavior is to discard the packet and send a Stale Cookie ERROR unless both verification tags match.