# CVE-2026-43284: xfrm: esp: avoid in-place decrypt on shared skb frags

> A memory corruption vulnerability in the Linux kernel's ESP decryption path allows attackers to corrupt shared memory, potentially leading to code execution or privilege escalation.

- **Severity:** High 8.8 (`CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 8 May 2026
- **Updated:** 15 Oct 2026
- **Also known as:** ALSA-2026:16195, ALSA-2026:16196, ALSA-2026:16206, ALSA-2026:A004, ALSA-2026:A005, ALSA-2026:A006, ALSA-2026:A007, AZL-86133, BELL-CVE-2026-43284, CLSA-2026-1778261513, DEBIAN-CVE-2026-43284, GHSA-mmw8-mxmc-8w2r, MGASA-2026-0131, MGASA-2026-0132, RHSA-2026:16061, RHSA-2026:16062, RHSA-2026:16100, RHSA-2026:16195, RHSA-2026:16196, RHSA-2026:16201, RHSA-2026:16202, RHSA-2026:16203, RHSA-2026:16204, RHSA-2026:16206, RHSA-2026:16254, RHSA-2026:16312, RHSA-2026:16314, RHSA-2026:16328, RHSA-2026:17795, RHSA-2026:18025, RHSA-2026:19564, RHSA-2026:19572, RHSA-2026:19573, RHSA-2026:19574, RHSA-2026:19575, RHSA-2026:19577, RLSA-2026:16062, RLSA-2026:16195, RLSA-2026:16196, RLSA-2026:16206, ROOT-OS-DEBIAN-11-CVE-2026-43284, ROOT-OS-DEBIAN-12-CVE-2026-43284, SUSE-SU-2026:1825-1, SUSE-SU-2026:1857-1, SUSE-SU-2026:1858-1, SUSE-SU-2026:1873-1, SUSE-SU-2026:1875-1, SUSE-SU-2026:1877-1, SUSE-SU-2026:1878-1, SUSE-SU-2026:1880-1, SUSE-SU-2026:1885-1, SUSE-SU-2026:1896-1, SUSE-SU-2026:1905-1, SUSE-SU-2026:1906-1, SUSE-SU-2026:1917-1, SUSE-SU-2026:1960-1, SUSE-SU-2026:1994-1, SUSE-SU-2026:1997-1, SUSE-SU-2026:21647-1, SUSE-SU-2026:21648-1, SUSE-SU-2026:21649-1, SUSE-SU-2026:21650-1, SUSE-SU-2026:21651-1, SUSE-SU-2026:21652-1, SUSE-SU-2026:21653-1, SUSE-SU-2026:21654-1, SUSE-SU-2026:21655-1, SUSE-SU-2026:21656-1, SUSE-SU-2026:21657-1, SUSE-SU-2026:21658-1, SUSE-SU-2026:21659-1, SUSE-SU-2026:21660-1, SUSE-SU-2026:21661-1, SUSE-SU-2026:21662-1, SUSE-SU-2026:21663-1, SUSE-SU-2026:21664-1, SUSE-SU-2026:21665-1, SUSE-SU-2026:21666-1, SUSE-SU-2026:21667-1, SUSE-SU-2026:21668-1, SUSE-SU-2026:21669-1, SUSE-SU-2026:21670-1, SUSE-SU-2026:21671-1, SUSE-SU-2026:21672-1, SUSE-SU-2026:21691-1, SUSE-SU-2026:21692-1, SUSE-SU-2026:21693-1, SUSE-SU-2026:21694-1, SUSE-SU-2026:21695-1, SUSE-SU-2026:21696-1, SUSE-SU-2026:21697-1, SUSE-SU-2026:21698-1, SUSE-SU-2026:21699-1, SUSE-SU-2026:21700-1, SUSE-SU-2026:21701-1, SUSE-SU-2026:21702-1, SUSE-SU-2026:21703-1, SUSE-SU-2026:21705-1, SUSE-SU-2026:21706-1, SUSE-SU-2026:21707-1, SUSE-SU-2026:21708-1, SUSE-SU-2026:21709-1, SUSE-SU-2026:21710-1, SUSE-SU-2026:21711-1, SUSE-SU-2026:21712-1, SUSE-SU-2026:21713-1, SUSE-SU-2026:21714-1, SUSE-SU-2026:21715-1, SUSE-SU-2026:21716-1, SUSE-SU-2026:21717-1, SUSE-SU-2026:21759-1, SUSE-SU-2026:21760-1, SUSE-SU-2026:21761-1, SUSE-SU-2026:21762-1, SUSE-SU-2026:21763-1, SUSE-SU-2026:21764-1, SUSE-SU-2026:21765-1, SUSE-SU-2026:21766-1, SUSE-SU-2026:21767-1, SUSE-SU-2026:21770-1, SUSE-SU-2026:21771-1, SUSE-SU-2026:21772-1, SUSE-SU-2026:21773-1, SUSE-SU-2026:21774-1, SUSE-SU-2026:21775-1, SUSE-SU-2026:21776-1, SUSE-SU-2026:21777-1, SUSE-SU-2026:21778-1, SUSE-SU-2026:21806-1, SUSE-SU-2026:21808-1, SUSE-SU-2026:21809-1, SUSE-SU-2026:21810-1, SUSE-SU-2026:21811-1, SUSE-SU-2026:21812-1, SUSE-SU-2026:21816-1, SUSE-SU-2026:21817-1, SUSE-SU-2026:21818-1, UBUNTU-CVE-2026-43284

## What is CVE-2026-43284?

CVE-2026-43284 is a high-severity memory corruption vulnerability in Linux kernel, published on 8 May 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

In the Linux kernel, the following vulnerability has been resolved:

xfrm: esp: avoid in-place decrypt on shared skb frags

MSG_SPLICE_PAGES can attach pages from a pipe directly to an skb. TCP
marks such skbs with SKBFL_SHARED_FRAG after skb_splice_from_iter(),
so later paths that may modify packet data can first make a private
copy. The IPv4/IPv6 datagram append paths did not set this flag when
splicing pages into UDP skbs.

That leaves an ESP-in-UDP packet made from shared pipe pages looking
like an ordinary uncloned nonlinear skb. ESP input then takes the no-COW
fast path for uncloned skbs without a frag_list and decrypts in place
over data that is not owned privately by the skb.

Mark IPv4/IPv6 datagram splice frags with SKBFL_SHARED_FRAG, matching
TCP. Also make ESP input fall back to skb_cow_data() when the flag is
present, so ESP does not decrypt externally backed frags in place.
Private nonlinear skb frags still use the existing fast path.

This intentionally does not change ESP output. In esp_output_head(),
the path that appends the ESP trailer to existing skb tailroom without
calling skb_cow_data() is not reachable for nonlinear skbs:
skb_tailroom() returns zero when skb->data_len is nonzero, while ESP
tailen is positive. Thus ESP output will either use the separate
destination-frag path or fall back to skb_cow_data().

Weakness: CWE-123 (Write-what-where Condition)

## Which versions are affected by CVE-2026-43284?

It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `kernel` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-core` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-debug` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-debug-core` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-debug-devel` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-debug-devel-matched` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-debug-modules` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-debug-modules-core` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-debug-modules-extra` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-debug-modules-internal` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-debug-modules-partner` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-debug-uki-virt` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-debug-uki-virt-addons` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-devel` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-devel-matched` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-modules` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-modules-core` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-modules-extra` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-modules-internal` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-modules-partner` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-uki-virt` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-64k-uki-virt-addons` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-abi-stablelists` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-core` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-cross-headers` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-debug` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-debug-core` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-debug-devel` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-debug-devel-matched` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-debug-modules` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-debug-modules-core` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-debug-modules-extra` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-debug-modules-internal` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-debug-modules-partner` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-debug-uki-virt` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-debug-uki-virt-addons` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-devel` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-devel-matched` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |
| `kernel-doc` | AlmaLinux:10 | All versions | 6.12.0-124.55.3.el10_1 |

Products: Linux kernel.

## How do I fix CVE-2026-43284?

Apply the vendor's patch.

## Is CVE-2026-43284 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-43284 exists.

Public exploit code:

- DirtyFrag Android Root is an Android app and helper module chain based on DirtyFrag (CVE-2026-43284). Tested on iQOO Z9 5G. (github_poc): https://github.com/ankitrawatgit/DirtyFrag-Android-Root-Jailbreak
- arm64/aarch64 port of V4bel/dirtyfrag (CVE-2026-43284). ESP-only - rxrpc path kernel-oopses on arm64 due to flush_dcache_page (github_poc): https://github.com/linnemanlabs/dirtyfrag-arm64
- CVE-2026-43284 (github_poc): https://github.com/0xredash/CVE-2026-43284
- A proof-of-concept demonstrating how a default, unprivileged Kubernetes Pod can achieve node-level code execution on Amazon EKS by exploiting the Dirty Frag (CVE-2026-43284) Linux kernel page-cache corruption vulnerability through shared container image layers. (github_poc): https://github.com/Percivalll/Dirty-Frag-Kubernetes-PoC
- CVE-2026-43284/CVE-2026-43500 'DirtyFrag' Benign patch & mitigation detection script (github_poc): https://github.com/liamromanis101/DirtyFrag-Detector
- 三星 Galaxy S25 Ultra（SM-S938B）适配版 DFRoot：开机自动获取 root（DirtyFrag CVE-2026-43284 + CVE-2026-43499 双链路），全中文界面，fork 自 diabl0w/DFRoot (github_poc): https://github.com/a2333c/DFRoot

## Other vulnerabilities in Linux kernel

- [CVE-2026-53266](https://insights.sbomify.com/CVE-2026-53266/): Linux Kernel Out-of-Bounds Write (high 8.8, exploited in the wild)
- [CVE-2013-6282](https://insights.sbomify.com/CVE-2013-6282/): Linux Kernel Improper Input Validation (high 8.8, exploited in the wild)
- [CVE-2022-0185](https://insights.sbomify.com/CVE-2022-0185/): Linux Kernel Heap-Based Buffer Overflow (high 8.4, exploited in the wild)
- [CVE-2013-2094](https://insights.sbomify.com/CVE-2013-2094/): Linux Kernel Privilege Escalation (high 8.4, exploited in the wild)
- [CVE-2026-53362](https://insights.sbomify.com/CVE-2026-53362/): Linux Kernel Unspecified (high 7.8, exploited in the wild)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-43284 and fix it if it is affected.

What it is: CVE-2026-43284 is a high-severity memory corruption vulnerability in Linux kernel, published on 8 May 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-43284 exists.

Affected product: Linux kernel. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-43284/ (Markdown: https://insights.sbomify.com/CVE-2026-43284/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-43284
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-43284
- OSV: https://osv.dev/vulnerability/CVE-2026-43284

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-43284/
Summaries are generated and may contain mistakes; the official description above is the record.
