CVE-2026-72221
Last modified
CVE-2026-72221 is a critical-severity vulnerability rated 9.8/10 on the CVSS scale. In the Linux kernel, the following vulnerability has been resolved: sunrpc: wait for in-flight TLS handshake callback when cancel loses race When wait_for_completion_interruptible_timeout() in svc_tcp_handshake() returns 0 (timeout) or -ERESTARTSYS (signal) and tls_handshake_cancel() then returns false, handshake_complete() has won the cancellation race: it has set HANDSHAKE_F_REQ_COMPLETED and is about to invoke svc_tcp_handshake_done(), but the callback's side effects on xpt_flags and on svsk->sk_handshake_done have not yet committed. The current code reads xpt_flags immediately to decide whether the session succeeded. Two races result. If the callback has executed set_bit(XPT_TLS_SESSION) but not yet clear_bit(XPT_HANDSHAKE), svc_tcp_handshake() sees a session, enqueues the transport, and returns. EPSS estimates a 0.20% chance of exploitation in the next 30 days.
Description
In the Linux kernel, the following vulnerability has been resolved: sunrpc: wait for in-flight TLS handshake callback when cancel loses race When wait_for_completion_interruptible_timeout() in svc_tcp_handshake() returns 0 (timeout) or -ERESTARTSYS (signal) and tls_handshake_cancel() then returns false, handshake_complete() has won the cancellation race: it has set HANDSHAKE_F_REQ_COMPLETED and is about to invoke svc_tcp_handshake_done(), but the callback's side effects on xpt_flags and on svsk->sk_handshake_done have not yet committed. The current code reads xpt_flags immediately to decide whether the session succeeded. Two races result. If the callback has executed set_bit(XPT_TLS_SESSION) but not yet clear_bit(XPT_HANDSHAKE), svc_tcp_handshake() sees a session, enqueues the transport, and returns. svc_xprt_received() then clears XPT_BUSY, a worker thread picks the transport up, the dispatcher in svc_handle_xprt() observes XPT_HANDSHAKE still set, and xpo_handshake is invoked a second time. That svc_tcp_handshake() calls init_completion(&svsk->sk_handshake_done) while the original callback concurrently calls complete_all() on it, corrupting the embedded swait_queue. If the callback has set HANDSHAKE_F_REQ_COMPLETED but not yet entered svc_tcp_handshake_done(), svc_tcp_handshake() reads XPT_TLS_SESSION as clear and tears the connection down even though the handshake is about to succeed. Wait for the callback to commit before inspecting xpt_flags. The completion is guaranteed to fire because handshake_complete() invokes svc_tcp_handshake_done() unconditionally once it has set HANDSHAKE_F_REQ_COMPLETED.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= b3cbf98e2fdf3cb147a95161560cd25987284330, < 0d8ceb39884148dc7a2fdf71e1cac5961ed1d2b9; >= b3cbf98e2fdf3cb147a95161560cd25987284330, < e0f4691d42a54d359d8b64509fd9ab938d4f2a33; >= b3cbf98e2fdf3cb147a95161560cd25987284330, < 65b23bec1fca6e9ebdc3e6041ebf8c6ab074141b; >= b3cbf98e2fdf3cb147a95161560cd25987284330, < a4f878e8ecd729ccf2e50993444e217583adeace; >= b3cbf98e2fdf3cb147a95161560cd25987284330, < d00e32f84ca1a77cb67a3fbf59f58dada95f5a21 |
| Linux | Linux | 6.4 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-72221?
How severe is CVE-2026-72221?
How do I fix CVE-2026-72221?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-72216In the Linux kernel, the following vulnerability has been re…
- CVE-2026-72217In the Linux kernel, the following vulnerability has been re…9.8
- CVE-2026-72218In the Linux kernel, the following vulnerability has been re…
- CVE-2026-72219In the Linux kernel, the following vulnerability has been re…
- CVE-2026-7222A vulnerability was determined in code-projects Coaching Man…3.5
- CVE-2026-72220In the Linux kernel, the following vulnerability has been re…9.8
- CVE-2026-72222In the Linux kernel, the following vulnerability has been re…9.8
- CVE-2026-72223In the Linux kernel, the following vulnerability has been re…
- CVE-2026-72224In the Linux kernel, the following vulnerability has been re…
- CVE-2026-72225In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-72226In the Linux kernel, the following vulnerability has been re…9.8
- CVE-2026-72227In the Linux kernel, the following vulnerability has been re…8.1
Are you affected by CVE-2026-72221?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
