CVE-2025-38018: net/tls: fix kernel panic when alloc_page failed
In the Linux kernel, the following vulnerability has been resolved:
net/tls: fix kernel panic when alloc_page failed
We cannot set frag_list to NULL pointer when alloc_page failed.
It will be used in tls_strp_check_queue_ok when the next time
tls_strp_read_sock is called.
This is because we don't reset full_len in tls_strp_flush_anchor_copy()
so the recv path will try to continue handling the partial record
on the next call but we dettached the rcvq from the frag list.
Alternative fix would be to reset full_len.
Unable to handle kernel NULL pointer dereference
at virtual address 0000000000000028
Call trace:
tls_strp_check_rcv+0x128/0x27c
tls_strp_data_ready+0x34/0x44
tls_data_ready+0x3c/0x1f0
tcp_data_ready+0x9c/0xe4
tcp_data_queue+0xf6c/0x12d0
tcp_rcv_established+0x52c/0x798
Security readout for executives and security teams
Plain-English summary
A Linux kernel TLS receive-path flaw can crash the operating system when memory allocation fails and later processing uses invalid queue state. The primary business risk is service outage or host reboot, not data theft or modification.
Executive priority
Treat as a high-priority availability issue for exposed, availability-critical Linux workloads using kernel TLS. Patch through supported vendor channels promptly, while avoiding emergency assumptions for systems that do not use the affected path.
Technical view
During kernel TLS record reception, an alloc_page failure can detach the receive queue while full_len remains set. A later tls_strp_read_sock call continues the partial record and tls_strp_check_queue_ok reaches a NULL pointer, causing a kernel panic. The assigned CVSS 3.1 score is 7.5 for network-reachable availability impact.
Likely exposure
Exposure is limited to Linux systems running an affected kernel and using the kernel TLS receive path. The bundle lists affected kernel versions through 6.15, but its version data is ambiguous; distribution backports and exact package status require vendor verification.
Exploitation context
No active exploitation is established: the bundle marks this CVE as absent from KEV and provides no cited exploitation report. Triggering requires the vulnerable kernel TLS path and an allocation failure; practical attacker control is not demonstrated.
Researcher notes
The failure is a stale-state problem after allocation failure: full_len is retained although the receive queue is detached from frag_list. The published resolution prevents a NULL frag_list state. The sources establish a panic condition but do not establish reliable exploitation, prevalence, or confidentiality impact.
Mitigation direction
Install a vendor-supported kernel containing the referenced upstream or stable fix.
Check distribution advisories for backported package versions before relying on upstream version numbers.
Prioritize internet-facing or availability-critical systems where kernel TLS is enabled.
If immediate patching is impossible, consult vendor guidance about safely limiting kernel TLS exposure.
Validation and detection
Inventory running kernel versions and identify systems using kernel TLS receive processing.
Compare installed packages with distribution advisories and referenced stable-kernel fixes.
Confirm the patched kernel is actually running after maintenance or reboot.
Monitor affected systems for kernel NULL-pointer traces involving tls_strp_check_rcv or tls_strp_data_ready.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-38018 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
7Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.