CVE-2023-53186: skbuff: Fix a race between coalescing and releasing SKBs
In the Linux kernel, the following vulnerability has been resolved:
skbuff: Fix a race between coalescing and releasing SKBs
Commit 1effe8ca4e34 ("skbuff: fix coalescing for page_pool fragment
recycling") allowed coalescing to proceed with non page pool page and page
pool page when @from is cloned, i.e.
to->pp_recycle --> false
from->pp_recycle --> true
skb_cloned(from) --> true
However, it actually requires skb_cloned(@from) to hold true until
coalescing finishes in this situation. If the other cloned SKB is
released while the merging is in process, from_shinfo->nr_frags will be
set to 0 toward the end of the function, causing the increment of frag
page _refcount to be unexpectedly skipped resulting in inconsistent
reference counts. Later when SKB(@to) is released, it frees the page
directly even though the page pool page is still in use, leading to
use-after-free or double-free errors. So it should be prohibited.
The double-free error message below prompted us to investigate:
BUG: Bad page state in process swapper/1 pfn:0e0d1
page:00000000c6548b28 refcount:-1 mapcount:0 mapping:0000000000000000
index:0x2 pfn:0xe0d1
flags: 0xfffffc0000000(node=0|zone=1|lastcpupid=0x1fffff)
raw: 000fffffc0000000 0000000000000000 ffffffff00000101 0000000000000000
raw: 0000000000000002 0000000000000000 ffffffffffffffff 0000000000000000
page dumped because: nonzero _refcount
CPU: 1 PID: 0 Comm: swapper/1 Tainted: G E 6.2.0+
Call Trace:
<IRQ>
dump_stack_lvl+0x32/0x50
bad_page+0x69/0xf0
free_pcp_prepare+0x260/0x2f0
free_unref_page+0x20/0x1c0
skb_release_data+0x10b/0x1a0
napi_consume_skb+0x56/0x150
net_rx_action+0xf0/0x350
? __napi_schedule+0x79/0x90
__do_softirq+0xc8/0x2b1
__irq_exit_rcu+0xb9/0xf0
common_interrupt+0x82/0xa0
</IRQ>
<TASK>
asm_common_interrupt+0x22/0x40
RIP: 0010:default_idle+0xb/0x20
Security readout for executives and security teams
Plain-English summary
This Linux kernel flaw is a race in network packet buffer handling. Under the described timing, the kernel can mishandle page reference counts, causing use-after-free or double-free memory errors. The public record shows a fix exists, but does not provide CVSS, exploitation evidence, or a vendor workaround.
Executive priority
Treat this as a kernel maintenance priority, not an emergency from the supplied evidence. Patch during the next appropriate security window, with higher priority for critical network-facing Linux systems.
Technical view
The issue is in skbuff coalescing when a cloned source SKB mixes page-pool and non-page-pool fragments. If the other clone is released during coalescing, fragment accounting can be reset, skipping a needed page reference increment. Later SKB release can free a still-used page, causing use-after-free or double-free.
Likely exposure
Exposure is most likely on Linux systems running affected 5.15, 6.1, 6.2, or 6.3 kernel lines before the referenced stable fixes. The bundle does not identify specific distributions, drivers, workloads, or remote attack preconditions.
Exploitation context
CISA KEV is false, and the supplied sources do not claim active exploitation. The evidence shows a kernel crash/double-free condition observed during investigation, not a public exploit path or reliable attacker workflow.
Researcher notes
The record lacks CVSS, CWE, distribution advisories, and exploitability analysis. Validation should focus on kernel lineage and fix provenance. Avoid assuming remote code execution or active exploitation without additional vendor or KEV evidence.
Mitigation direction
Apply Linux kernel updates that include the referenced stable commits.
Use distribution vendor kernels when they backport the fix.
Prioritize externally exposed or high-throughput networking hosts.
If updates are unavailable, check vendor guidance for supported mitigations.
Validation and detection
Inventory running Linux kernel versions across servers and appliances.
Map each kernel to the affected versions in the CVE record.
Confirm fixed packages include one referenced stable commit or an equivalent backport.
Review kernel logs for Bad page state, skb_release_data, or napi_consume_skb traces.
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-2023-53186 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.
0CVSS vectors
3Timeline events
0ADP providers
5Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Sep 15, 2025, 14:04 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.