CVE-2026-93105: esp: do not unref managed frag pages in esp_ssg_unref()
esp: do not unref managed frag pages in espssgunref()
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 7.2.6-1 - Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 7.2.12-1Fixed in 7.2.14-1 - Upgrade
Upgrade
linux/Kernelto a version that resolves this vulnerability.Fixed in 6.1.191 - Upgrade
Upgrade
linux/Kernelto a version that resolves this vulnerability.Fixed in 6.6.160 - Upgrade
Upgrade
linux/Kernelto a version that resolves this vulnerability.Fixed in 6.12.114 - Upgrade
Upgrade
linux/Kernelto a version that resolves this vulnerability.Fixed in 6.18.57 - Upgrade
Upgrade
linux/Kernelto a version that resolves this vulnerability.Fixed in 7.2.6 - Compensating control
Guard esp_ssg_unref() with skb_zcopy_managed() so both skb_page_unref() paths are skipped for managed-frag skbs (SKBFL_MANAGED_FRAG_REFS), including the out-of-place transform path and the esp_output_tail() error path.
Event History
Frequently Asked Questions
Which systems and workloads are implicated?
The issue applies to Linux kernel ESP processing when an skb has managed fragment references. The described source of such skbs is io_uring SEND_ZC using a registered buffer, which attaches buffer-vector pages as managed fragments.
What conditions are needed for the reference-count error?
An ESP AEAD operation must process a managed-fragment skb through an out-of-place transform, or reach the specified esp_output_tail() error path. In those paths, the vulnerable code can release page references that the skb did not acquire.
What is the consequence if the vulnerable path is reached?
The page reference count can underflow, causing a page that remains in use to be freed. The fix skips both affected unreference paths for skbs identified as having managed zerocopy fragments.