CVE-2026-80904 net/tls: Fail tls_sw_splice_read() after a failed async decrypt

Not scored Published Updated

An attacker can bypass TLS authentication checks by exploiting a missing error check in the Linux kernel's TLS splice read function, allowing delivery of unauthenticated data.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-80904?

CVE-2026-80904 is a vulnerability in Linux, published on 4 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

In the Linux kernel, the following vulnerability has been resolved:

net/tls: Fail tls_sw_splice_read() after a failed async decrypt

When an async decrypt fails, tls_decrypt_done() records the error in ctx->async_wait.err and calls tls_err_abort(), which stores it in sk_err. tls_sw_recvmsg() and tls_sw_read_sock() each read async_wait.err once they hold the reader lock and fail the call: a record that did not authenticate breaks the connection.

tls_sw_splice_read() has no such check, and sk_err does not stand in for one. tls_rx_rec_wait() tests sk_err only inside the loop it skips whenever a record is already parsed, and the first reader to reach sock_error() clears it, while async_wait.err persists. A splice therefore keeps delivering records on a connection that recvmsg() and read_sock() refuse to read.

Read async_wait.err in tls_sw_splice_read() as the other two readers do.

Which versions are affected by CVE-2026-80904?

How do I fix CVE-2026-80904?

Apply the vendor's patch.

Is CVE-2026-80904 being exploited?

There is no known exploitation of CVE-2026-80904 in the wild and no public exploit code.

Sources

Also known as AZL-99525, BELL-CVE-2026-80904, DEBIAN-CVE-2026-80904, GHSA-vp2x-h945-mvcw, UBUNTU-CVE-2026-80904.

Is CVE-2026-80904 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free