CVE-2026-72330
net/tls: Consume empty data records in tls_sw_read_sock()
Description
In the Linux kernel, the following vulnerability has been resolved: net/tls: Consume empty data records in tls_sw_read_sock() A peer may send a zero-length TLS application_data record; TLS 1.3 explicitly permits these as a traffic-analysis countermeasure (RFC 8446, Section 5.1). After decryption such a record has full_len == 0. tls_sw_read_sock() hands it to the read_actor, which has no payload to consume and returns zero. The loop treats a zero return as backpressure (used <= 0), requeues the skb at the head of rx_list, and stops. rx_list is serviced head-first on the next call, so the empty record is dequeued, fails the same way, and is requeued again; every later record on the connection is blocked behind it. tls_sw_recvmsg() does not stall on this: a zero-length data record copies nothing and falls through to consume_skb(). Mirror that in the read_sock() path by recognizing an empty data record before the actor runs, consuming it, and continuing.
INFO
Published Date :
Aug. 15, 2026, 6:22 a.m.
Last Modified :
Aug. 17, 2026, 6:18 a.m.
Remotely Exploit :
Yes !
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | HIGH | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
Solution
- Update the Linux kernel to the patched version.
- Ensure tls_sw_read_sock() recognizes and consumes empty records.
- Verify that empty records do not block subsequent data.
- Test the fix in the tls_sw_recvmsg() path.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-72330.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-72330 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-72330
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-72330 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-72330 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 17, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': '0867b0f2513ebc1c475af9898c97f4772a68d964', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': 'c6b440cf766a557b08d25f1b571b3d57d039686e', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': 'e8a4c9fc437b16aef38f86ce3275677e36924259', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': 'ebc295ce343600c2d60c1e1e0c5d192080217457', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': '3be28e2c9cd0230cb51fd4967df095273afd3848', 'versionType': 'git'}], 'programFiles': ['net/tls/tls_sw.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '6.6'}, {'status': 'unaffected', 'version': '0', 'lessThan': '6.6', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc3', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/tls/tls_sw.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': '0867b0f2513ebc1c475af9898c97f4772a68d964', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': 'c6b440cf766a557b08d25f1b571b3d57d039686e', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': 'e8a4c9fc437b16aef38f86ce3275677e36924259', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': 'ebc295ce343600c2d60c1e1e0c5d192080217457', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': '3be28e2c9cd0230cb51fd4967df095273afd3848', 'versionType': 'git'}], 'programFiles': ['net/tls/tls_sw.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '6.6'}, {'status': 'unaffected', 'version': '0', 'lessThan': '6.6', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/tls/tls_sw.c'], 'defaultStatus': 'affected'}] -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 15, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': '0867b0f2513ebc1c475af9898c97f4772a68d964', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': 'c6b440cf766a557b08d25f1b571b3d57d039686e', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': 'e8a4c9fc437b16aef38f86ce3275677e36924259', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': 'ebc295ce343600c2d60c1e1e0c5d192080217457', 'versionType': 'git'}, {'status': 'affected', 'version': '662fbcec32f4af6bdcf5b4006b792ebe9543d945', 'lessThan': '3be28e2c9cd0230cb51fd4967df095273afd3848', 'versionType': 'git'}], 'programFiles': ['net/tls/tls_sw.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '6.6'}, {'status': 'unaffected', 'version': '0', 'lessThan': '6.6', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc3', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/tls/tls_sw.c'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: net/tls: Consume empty data records in tls_sw_read_sock() A peer may send a zero-length TLS application_data record; TLS 1.3 explicitly permits these as a traffic-analysis countermeasure (RFC 8446, Section 5.1). After decryption such a record has full_len == 0. tls_sw_read_sock() hands it to the read_actor, which has no payload to consume and returns zero. The loop treats a zero return as backpressure (used <= 0), requeues the skb at the head of rx_list, and stops. rx_list is serviced head-first on the next call, so the empty record is dequeued, fails the same way, and is requeued again; every later record on the connection is blocked behind it. tls_sw_recvmsg() does not stall on this: a zero-length data record copies nothing and falls through to consume_skb(). Mirror that in the read_sock() path by recognizing an empty data record before the actor runs, consuming it, and continuing. Added Reference https://git.kernel.org/stable/c/0867b0f2513ebc1c475af9898c97f4772a68d964 Added Reference https://git.kernel.org/stable/c/3be28e2c9cd0230cb51fd4967df095273afd3848 Added Reference https://git.kernel.org/stable/c/c6b440cf766a557b08d25f1b571b3d57d039686e Added Reference https://git.kernel.org/stable/c/e8a4c9fc437b16aef38f86ce3275677e36924259 Added Reference https://git.kernel.org/stable/c/ebc295ce343600c2d60c1e1e0c5d192080217457