OCTOBER 12, 2026
Live Feed
Back to database
Case File

CVE-2026-93105

HIGH · CVSS 7.8 EPSS 0.17%

Source: NVD + CISA KEV + EPSS · Published 2026-09-17 · Last synced 2026-10-12

CyberRota Analysis

AI-Generated

The vulnerability affects the Linux kernel's handling of managed fragment pages during the AES-GCM encryption process, specifically in the esp_ssg_unref() function. By incorrectly releasing page references for managed fragments, this flaw can lead to a page reference count underflow, potentially freeing memory that is still in use, which may result in system instability or crashes. System administrators and developers utilizing Linux kernel versions that handle managed fragments should prioritize addressing this vulnerability to ensure system reliability and security.

CVE
CVE-2026-93105
Severity
HIGH
CVSS
7.8
EPSS
0.17%
Linux

Original NVD Description

In the Linux kernel, the following vulnerability has been resolved: esp: do not unref managed frag pages in esp_ssg_unref() esp_ssg_unref() releases the page references held on the source scatterlist after the AEAD operation completes. It calls skb_page_unref() on every frag page for an out-of-place transform (req->src != req->dst), and in the error path of esp_output_tail() (already_unref == true) on the request's own scatterlist. This is wrong when the skb carries managed frags (SKBFL_MANAGED_FRAG_REFS). Managed frags are owned by a zerocopy ubuf and the skb does not hold a per-frag page reference; io_uring SEND_ZC with a registered buffer attaches the bvec pages this way via io_sg_from_iter(). The rest of the stack honours this invariant: skb_release_data() skips the per-frag unref when SKBFL_MANAGED_FRAG_REFS is set, and skb_zcopy_managed() is the guard used at the other unref sites. esp_ssg_unref() is missing that guard, so for a managed-frag skb it drops a page reference the skb never acquired. This can underflow the page reference count and free a page that is still in use. Guard the function with skb_zcopy_managed() so both unref paths are skipped for managed-frag skbs, matching skb_release_data().