35 min read
By

Dirty Frag (CVE-2026-43284): Linux Kernel LPE — blacklist the modules, weigh IPsec, protect customer stacks

7 May 2026.Dirty Frag (CVE-2026-43284) is a universal Linux local privilege escalation affecting every kernel since 2017, including 7.0.4. Mitigation via kernel module blacklist is available, with clear trade-offs for IPsec and kAFS. What that means for our customers’ server stacks, and how the discipline from the CVE cluster keeps applying here.

Mattschwarze Server-Edge-Box, ein sage-grünes Patch-Kabel verbindet einen aktiven Port; daneben auf der Slate-Oberfläche drei separierte Modul-Cartridges mit Mono-Labels esp4, esp6, rxrpc — Metapher für bewusst geblacklistete Kernel-Module als Mitigation, kühles Studiolicht.

TL;DR — the 90-second summary

Affected?

All Linux kernels since 2017, including kernel 7.0.4. Confirmed: Ubuntu 24.04.4, RHEL 10.1, CentOS Stream 10, AlmaLinux 10, Fedora 44, openSUSE Tumbleweed. SLES 11 SP4 LTSS Extreme Core not affected.

Risk?

Universal local privilege escalation to root via the chained page-cache write flaws in xfrm-ESP and RxRPC. Public PoC available.

Immediate action?

Block modules esp4, esp6, rxrpc via /etc/modprobe.d/dirtyfrag.conf and unload them with rmmod. AWS additionally recommends ipcomp4, ipcomp6, and disabling unprivileged user namespaces.

Recommendation?

German Mittelstand: deploy module blacklist now, distribution patch within 7 days. Enterprise/Kubernetes: add detection hooks on XFRM netlink and rebuild the worker node image. NixOS: declarative path via boot.blacklistedKernelModules.

Criticality?

High — CVSS 7.8 CISA, 8.8 SUSE (attack complexity diverges). See badge in the page header.

 

What is the problem?

Dirty Frag (CVE-2026-43284) has been officially tracked since 8 May 2026 (CVE number first issued by AlmaLinux). The UMich Information Assurance bulletin from 7 May 2026 describes it as a universal Linux LPE: a local user with no extra privileges can reach root in a short time. The public proof-of-concept lives at github.com/V4bel/dirtyfrag.

According to UMich, all Linux versions released since 2017 are affected, including kernel 7.0.4. That's an unusually broad reach, comparable to Copy Fail, which we discussed in the cluster in early May (CVE-2026-31431). Comparable not in the technical detail, but in the consequence: every Linux machine that isn't mitigated or patched is today a one-step target for local escalation.

The oss-security disclosure from 7 May 2026 gives the technical anatomy: Dirty Frag is a chain of two separate page-cache write flaws, one in xfrm-ESP (IPsec fast path with MSG_SPLICE_PAGES no-COW) and one in RxRPC (the kAFS transport layer). The chain becomes reachable via the XFRM user netlink interface, which auto-loads the relevant kernel modules on demand. That's why the mitigation targets exactly these three modules: they are the entry gate to the chain, even on hosts that use neither IPsec nor kAFS actively.

Disclosure ran uncoordinated: the linux-distros embargo was set for 12 May 2026, a third party prematurely published the ESP half on 7 May, which forced the researcher into immediate full disclosure. That's why patches weren't ready at public disclosure and CVE IDs hadn't been issued — and why the module blacklist mitigation was the only available defense in the first few days. As of 11 May 2026, the ESP patch is in most distributions, the RxRPC patch is still partially unmerged — the module blacklist for rxrpc therefore remains necessary for the time being.

Who is affected?

The reach is unusually broad because the two chained flaws sit in kernel paths that ship in practically every mainstream Linux. What matters isn't the userland but the kernel and the module auto-load behavior through XFRM netlink.

ComponentStatusCondition
Linux kernel 2017 through 7.0.4AffectedESP since commit cac2661c53f3 (Jan 2017), RxRPC since June 2023
Ubuntu 24.04.4AffectedUntil patch through the standard channel
RHEL 10.1, CentOS Stream 10, AlmaLinux 10, Rocky 10AffectedAlmaLinux issued the CVE number first; backports underway
Fedora 44, openSUSE TumbleweedAffectedUntil channel update
Amazon Linux 2, Amazon Linux 2023Patched since 09 May 2026ALAS advisories available
SUSE Linux Enterprise Real Time 15 SP7Patched (live patch released)Reboot-free for Real Time and Live Patching customers
SLES 12 SP5-LTSS, 15 SP4–SP7In progressSUSE builds underway
SLES 11 SP4 LTSS Extreme CoreNot affectedNo RxRPC/ESP path in the legacy kernel
Container images (Debian/Alpine/Wolfi)Not affectedUserland without its own kernel; the host decides
Kubernetes worker nodesAffectedIf the host kernel isn't patched; every pod is an entry vector
Managed Kubernetes (EKS/AKS/GKE)Provider-dependentWorker image refresh is decisive
CI/CD runners (self-hosted)Highly affectedMulti-tenant workload density increases the exploitation path

LPE flaws aren't a pure server matter. Three scenarios where Dirty Frag hits the German Mittelstand directly:

The universal reach (all kernels since 2017) means: practically every productive Linux machine in the Mittelstand is affected, unless mitigation or patch has already been applied.

Impact

Dirty Frag is a local privilege escalation. RCE or remote escalation isn't directly possible; the exploit requires existing code execution in user space. But in the Mittelstand stack that precondition is so low-friction to reach that the rating still lands in the high range.

The CVSS ratings differ depending on the evaluator:

SourceCVSS v3 base scoreVectorAttack complexity
CISA-ADP (CNA)7.8AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:HHigh
SUSE8.8AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HLow

SUSE sets Attack Complexity to Low (CISA: High), at the same local vector and scope-changed. Both classify the issue as Important. We follow the SUSE reading in our internal risk assessment, because the public PoC and the trivial auto-load precondition make Attack Complexity effectively Low in practice, not High.

What that means operationally:

On the business side: downtime due to reboot is the most likely direct impact. Data loss is not a realistic scenario with clean mitigation; the reputational question only arises if an incident occurs before the patch. The eight days between disclosure (7 May) and the first distribution patch (AWS, 9 May) are exactly the window in which module blacklist and PoC validation make the difference.

Mitigation and immediate actions

The short answer: deploy the distribution patch and reboot. Where the patch isn't available yet (or the maintenance window is further out), block the vulnerable kernel modules. Both workarounds take effect at runtime.

Quick start (copy/paste)

For Linux hosts without IPsec and without kAFS — the German Mittelstand majority — four lines are enough for immediate stopgap mitigation:

 

# 1. Unload the modules live if loaded
sudo modprobe -r esp4 esp6 rxrpc ipcomp4 ipcomp6 2>/dev/null

# 2. Persist the five-module blacklist (AWS recommendation)
cat <<EOF | sudo tee /etc/modprobe.d/dirtyfrag.conf
install esp4     /bin/false
install esp6     /bin/false
install rxrpc    /bin/false
install ipcomp4  /bin/false
install ipcomp6  /bin/false
EOF

# 3. Disable unprivileged user namespaces
echo -e "kernel.unprivileged_userns_clone = 0\nuser.max_user_namespaces = 0" | sudo tee /etc/sysctl.d/99-dirtyfrag.conf
sudo sysctl --system

# 4. Validate that the modules no longer load
lsmod | egrep '^(esp4|esp6|rxrpc|ipcomp4|ipcomp6)' || echo "Mitigation active."

 

On NixOS / Talos / Flatcar use the declarative variant (see further below). For hosts running productive IPsec or kAFS, follow the trade-off block at the end of this section first — secure an alternative path, then mitigate.

Deploy the patch where available

 

# Amazon Linux 2023 (patch available since 09 May 2026)
sudo dnf upgrade -y kernel
sudo reboot

# Amazon Linux 2
sudo yum update -y kernel
sudo reboot

# SUSE Linux Enterprise Real Time 15 SP7 (live patch released)
sudo zypper patch --category security
# Reboot-free for kernel-livepatch-SLE15-SP7-RT_Update_13

# Other mainstream distros: watch the ongoing backports
# Debian/Ubuntu: apt list --upgradable | grep linux-image
# RHEL/AlmaLinux/Rocky: dnf check-update kernel

 

Module blacklist (UMich variant, three modules)

The UMich recommendation blocks the three directly vulnerable modules:

 

# Create /etc/modprobe.d/dirtyfrag.conf
cat <<EOF | sudo tee /etc/modprobe.d/dirtyfrag.conf
install esp4  /bin/false
install esp6  /bin/false
install rxrpc /bin/false
EOF

# Check whether modules are currently loaded
lsmod | egrep '^(esp4|esp6|rxrpc)'

# Unload them if loaded
sudo rmmod esp4 esp6 rxrpc

 

AWS extension (five modules plus user namespace block)

The AWS Security Bulletin AWS-2026-027 extends the blacklist with ipcomp4 and ipcomp6 (same xfrm module family, auto-loaded through the same netlink path). Plus two flanking steps:

 

# Extended module blacklist
cat <<EOF | sudo tee /etc/modprobe.d/dirtyfrag-aws.conf
install esp4     /bin/false
install esp6     /bin/false
install rxrpc    /bin/false
install ipcomp4  /bin/false
install ipcomp6  /bin/false
EOF

# Disable unprivileged user namespaces
cat <<EOF | sudo tee /etc/sysctl.d/99-dirtyfrag.conf
kernel.unprivileged_userns_clone = 0
user.max_user_namespaces = 0
EOF
sudo sysctl --system

# Sharpen monitoring on anomalous setuid executions
# (auditd, Falco, Tetragon — see Detection section)

 

For Amazon Linux hosts this extended list is the official recommendation; on other distributions it works as a clean defense-in-depth variant.

NixOS — declarative variant

On NixOS /etc/modprobe.d/ is a symlink into the Nix store; manual edits are discarded on the next nixos-rebuild. The correct path is through the NixOS configuration:

 

{ pkgs, ... }:
{
  boot.extraModprobeConfig = ''
    install esp4    ${pkgs.coreutils}/bin/false
    install esp6    ${pkgs.coreutils}/bin/false
    install rxrpc   ${pkgs.coreutils}/bin/false
    install ipcomp4 ${pkgs.coreutils}/bin/false
    install ipcomp6 ${pkgs.coreutils}/bin/false
  '';

  boot.blacklistedKernelModules = [
    "esp4" "esp6" "rxrpc" "ipcomp4" "ipcomp6"
  ];

  boot.kernel.sysctl = {
    "kernel.unprivileged_userns_clone" = 0;
    "user.max_user_namespaces" = 0;
  };
}

# afterwards
sudo nixos-rebuild switch

 

Three properties that NixOS handles better than the classic distribution pattern:

Trade-offs — what breaks

IPsec. The modules esp4 and esp6 are part of the IPsec infrastructure for IPv4 and IPv6. If you run site-to-site VPNs or host-to-host IPsec, the mitigation breaks the ESP path. Alternative connectivity must be in place or the application must be briefly interrupted before mitigation.

kAFS. The rxrpc module is the transport layer of the kernel AFS implementation. If you run kAFS in production, you lose filesystem access. The OpenAFS implementation is explicitly not affected; that's the more common case in the Mittelstand.

IP compression.ipcomp4 and ipcomp6 are rarely used productively; the additional block is usually inconsequential. If you do use IPComp (combined with IPsec on bandwidth-critical links), you need an alternative path before mitigation.

Rollback. The module blacklist can be reverted with sudo rm /etc/modprobe.d/dirtyfrag*.conf and a reboot. Sysctl stopgap: sudo rm /etc/sysctl.d/99-dirtyfrag.conf && sudo sysctl --system.

Detection and verification

Detection on Dirty Frag answers five operational core questions:

Three layers in the concrete implementation: check whether the vulnerable modules are loaded; check whether the XFRM auto-load path has been used; check whether the mitigation actually takes effect.

Module and kernel status

 

# Are the five relevant modules loaded?
lsmod | egrep '^(esp4|esp6|rxrpc|ipcomp4|ipcomp6)'

# Check kernel version (everything since 2017 is affected)
uname -r

# Trace distribution patch date
dpkg -l linux-image-$(uname -r) | tail -1   # Debian/Ubuntu
rpm -qi kernel-$(uname -r | sed 's/\.[^.]*$//')  # RHEL/AlmaLinux

# Check whether the XFRM symbols are exported in the running kernel at all
grep -E '(xfrm_user|esp_input|rxrpc_recvmsg)' /proc/kallsyms | head

# Inspect the auto-load module chain (what hangs off the xfrm stack?)
modprobe --show-depends esp4 esp6 rxrpc ipcomp4 ipcomp6

# IPsec active? (trade-off check before mitigation)
sudo ip xfrm state
sudo ip xfrm policy

 

Audit logs on XFRM netlink

 

# Sharpen auditd on the XFRM netlink socket
sudo auditctl -a always,exit -F arch=b64 -S socket -F a0=16 -F a1=3 -k xfrm-netlink

# Retrospective check
sudo ausearch -k xfrm-netlink -ts recent

# rxrpc socket activity (AF_RXRPC = 33) on the running system
sudo ss -A inet,inet6 -p | grep -i rxrpc

 

Falco rule as an alternative to Tetragon

If you run Falco instead of Tetragon, the same signal path is covered by two combined rules — one for the XFRM netlink entry, one for the RxRPC socket. Neither has a use case in regular application containers:

 

- rule: Suspicious XFRM netlink socket from container
  desc: Detect creation of NETLINK_XFRM sockets from container processes — likely Dirty Frag entry probe
  condition: >
    evt.type = socket and
    container.id != host and
    evt.arg[0] = 16 and
    evt.arg[2] = 6
  output: >
    NETLINK_XFRM socket opened from container
    (pod=%k8s.pod.name ns=%k8s.ns.name container=%container.name
     proc=%proc.cmdline pid=%proc.pid user=%user.name)
  priority: WARNING
  tags: [container, mitre_privilege_escalation, cve-2026-43284]

- rule: Suspicious AF_RXRPC socket from container
  desc: Detect creation of AF_RXRPC (kAFS) sockets from container processes — second stage of Dirty Frag
  condition: >
    evt.type = socket and
    container.id != host and
    evt.arg[0] = 33
  output: >
    AF_RXRPC socket opened from container
    (pod=%k8s.pod.name ns=%k8s.ns.name container=%container.name
     proc=%proc.cmdline pid=%proc.pid user=%user.name)
  priority: CRITICAL
  tags: [container, mitre_privilege_escalation, cve-2026-43500]

 

Falco runs as a DaemonSet, Tetragon TracingPolicies are declared via CRDs. In clusters where Cilium is already deployed, Tetragon is the more direct path; otherwise Falco. Both write hits to JSON logs that a SIEM aggregates by pod identity. The second rule (AF_RXRPC) should be classified as CRITICAL: RxRPC is practically never used in production across the German Mittelstand, so hits there are almost always escalation attempts.

Tetragon hook on the exploit path

The public PoC triggers two syscall sequences: socket(AF_NETLINK, …, NETLINK_XFRM) followed by a module load, plus, if the second stage runs, socket(AF_RXRPC). Neither has a use case in regular application containers.

 

apiVersion: cilium.io/v1alpha1
kind: TracingPolicy
metadata:
  name: detect-dirty-frag-sequence
spec:
  kprobes:
    - call: "__x64_sys_socket"
      syscall: true
      args:
        - index: 0
          type: "int"
        - index: 2
          type: "int"
      selectors:
        - matchArgs:
            - index: 0
              operator: "Equal"
              values: ["16"]   # AF_NETLINK
            - index: 2
              operator: "Equal"
              values: ["6"]    # NETLINK_XFRM
        - matchArgs:
            - index: 0
              operator: "Equal"
              values: ["33"]   # AF_RXRPC
    - call: "__x64_sys_init_module"
      syscall: true

 

Correlated in the SIEM pipeline (or directly in Tetragon output, keyed by pid/tgid): if a pod with no IPsec or kAFS need opens an XFRM netlink socket and shortly afterwards an init_module call fires on the host, that's a high-probability Dirty Frag entry signal.

Validating the mitigation

We consider a host clean only when the public PoC fails after the mitigation. The repo is at github.com/V4bel/dirtyfrag. The PoC is executed in an isolated user session and the result (exit code, possible UID change) is logged. Only then does the host receive the cleanup flag in our inventory.

 

# PoC in an isolated test session
git clone github.com/V4bel/dirtyfrag /tmp/dirtyfrag
cd /tmp/dirtyfrag
# Setup per README
./run_exploit.sh
# Expectation after mitigation: non-zero exit, no root shell drop

 

Important: PoC reproduction doesn't belong on production hosts. Validation needs an isolated test VM with identical distribution and kernel version.

Operator recommendation

The recommendation depends on the setup. Four scenarios, four answers — with an operational decision grid upfront:

Decision grid: when to mitigate now, when to wait for a maintenance window?

These four lines are concretized in the scenarios below.

German Mittelstand with classic VMs or bare metal

Module blacklist immediately, distribution patch in the next maintenance window (within 7 days at the latest). If you don't have a defined patch window, establish a fixed weekly slot now. The blacklist as a stopgap is fine for 24 to 72 hours, but it isn't a permanent state. IPsec check before the mitigation, then stage 1 pre-prod, stage 2 production.

Shared hosting and multi-tenant VPS

Highest priority. A multi-tenant host with a compromised customer account is two steps gone with Dirty Frag — unprivileged account → LPE → cross-tenant escalation. Deploy the five-module blacklist immediately, plus the user namespace sysctl. If the hosting stack uses classic cgroups-based isolation, the K8s lateral-movement logic (see Copy Fail in Kubernetes) applies in spirit.

Enterprise with change management

Run two tracks in parallel: standard patch pipeline for production via maintenance window, stopgap mitigation (module blacklist plus sysctl) for all hosts that can't be patched within 48 hours. Maintain compliance documentation in parallel: affected hosts, stopgap status, patch status, validation result. Auditable.

Kubernetes clusters (self-managed and managed)

Decision grid for Kubernetes hosts:

For self-managed clusters, rebuild the worker node image with the module blacklist entries, then per node kubectl drain <node> --ignore-daemonsets --delete-emptydir-data, reboot, kubectl uncordon. Check PodDisruptionBudgets beforehand. For Managed K8s (AKS, EKS, GKE) set the provider channel to the patched node-image release and let the node pools roll — EKS customers on Amazon Linux 2023 are covered since 09 May via the standard upgrade pattern. Tighten detection hooks (see Detection section) on the XFRM netlink path until 100 percent of nodes are patched. PodSecurity standard at minimum restricted.

VPN and IPsec gateways

Validate the trade-off first. Before esp4/esp6 get blocked, it has to be clear whether site-to-site tunnels or host-to-host IPsec are running in production. Three paths: first, bring up a WireGuard failover path on layer 3 and only deploy the IPsec module blacklist after a successful routing switch; second, install the patched kernel directly (available for Amazon Linux / AlmaLinux / Rocky) and keep the module blacklist only for rxrpc/ipcomp*; third, plan a maintenance window with brief tunnel downtime and run stopgap + reboot together during the window. Keep the detection hook on XFRM netlink sharp in parallel, because an attacker on a lateral-movement wave targets gateways first.

NixOS hosts and declarative stacks

If you run NixOS or another declarative host stack (Talos, Flatcar), you have two advantages that matter here. First: the mitigation is a code change in configuration.nix, not a config edit on the live system, it goes through code review and CI. Second: the previous generation stays available in the bootloader. If the module blacklist breaks a productive function (e.g. IPsec on a host that does use it), a reboot into the old generation is enough. This reversibility is missing from classic apt/dnf hosts.

What we actually did

At the UMich notification on 7 May we ran the same pattern internally as with Copy Fail: SBOM reconciliation across all customer stacks, Linux hosts with kernel versions since 2017 (so practically all) marked as affected, IPsec and kAFS usage checked per stack.

This routine is exactly what we run for customers as part of DevSecOps as a Service and the External IT Department. Methodically, Dirty Frag, Copy Fail, and the image audit after an IDS alarm sit in the same fabric: SBOM routine, isolated PoC validation, documented rollout.

Technical deep dive

Dirty Frag is a chain of two separate page-cache write flaws in different subsystems of the Linux kernel. Only the chain makes the universal LPE possible; individual parts alone would be less exploitable.

Component 1: xfrm-ESP fast path

The ESP implementation in net/ipv4/esp4.c and net/ipv6/esp6.c has used a MSG_SPLICE_PAGES fast path since commit cac2661c53f3 (January 2017). Data is fed into the ESP encapsulation path via page splicing without copy-on-write. That saved CPU in IPsec throughput and was a clean optimization at the time.

The problem: under certain race conditions, the ESP path writes into a page that belongs to the page cache of a different file. Because no COW is triggered, the modification lands directly in the shared page cache entry, without a disk write, without a trace in the filesystem. Conceptually that's comparable to the K8s variant vector in Copy Fail: shared page cache becomes the manipulation layer.

The mainline fix landed in the netdev tree on 7 May 2026 as commit f4c50a4034e6: a new SKBFL_SHARED_FRAG flag forces COW when the page is shared. Distribution backports have been rolling since.

Component 2: RxRPC transport

net/rxrpc/ is the kernel implementation of the Rx-RPC protocol, primarily the transport layer for kAFS (kernel AFS). RxRPC uses a similar page-splicing mechanism to ESP, with the same structural consequences once the implementation writes into a shared buffer.

The RxRPC component has been vulnerable since June 2023, the corresponding upstream patch is partially still unmerged as of 11 May 2026. That's exactly why the module blacklist for rxrpc remains necessary even after the ESP patch.

Entry gate: XFRM user netlink auto-load

The actual trick — and the reason practically every host is affected — sits in the XFRM user netlink interface. An unprivileged process can request an operation via a NETLINK_XFRM socket that requires the kernel to load the ESP or RxRPC module. The auto-load triggers even if the host uses neither IPsec nor kAFS in production. That's also why the mitigation targets three (UMich) or five (AWS) modules: not the usage paths, but the entry barrier is closed.

Why ipcomp4 and ipcomp6 belong with them

The ipcomp4 and ipcomp6 modules belong to the same xfrm module family as ESP and are auto-loaded through the same netlink path. They aren't directly part of the currently known chain, but they're a plausible follow-up exploit vector if another page-cache write flaw is found in the same family. AWS recommends preemptive blocking for exactly this reason. Once the audit work has been done, those two modules shouldn't have to be rediscovered next time.

Aspects for assessment

Frequently asked questions on Dirty Frag and kernel-module mitigation

When does external help with the Dirty Frag rollout make sense — and what would the concrete process look like?+

If your Linux host inventory is unclear and you can't say within an hour today which hosts run which kernel and which have IPsec/kAFS active, the gap isn't Dirty Frag specific — it's the next universal LPE too. A three-week CI/CD security audit brings an honest situation assessment with a concrete action catalog. After that you decide whether to implement yourself or with support.

Do we have to mitigate all Linux hosts against Dirty Frag at the same time, or is a staged rollout enough?+

A wave suffices and is sensible. Order: non-critical hosts (build runners, test VMs, pre-prod) first — verify there that IPsec/kAFS aren't unintentionally in use. Then staging with smoke test, then production in a planned maintenance window. What's often missed in mid-market: rmmod unloads the modules immediately, meaning a live IPsec connection breaks the moment the command runs. So on production hosts only in a window where the break is tolerated or bridged by alternative connectivity.

We run kAFS in production — how do we mitigate Dirty Frag without losing filesystem access?+

kAFS is rarely in production use in mid-market — if it is, the mitigation has a direct effect: the filesystem is no longer available after rmmod rxrpc. Possible paths: short-term migration of the affected workloads to a different filesystem path, long-term switch to OpenAFS (which is unaffected by the mitigation). If neither is possible, kAFS hosts have to keep running with elevated monitoring until the kernel patch ships through the distribution.

We don't run IPsec on our Linux hosts — can we safely deploy the Dirty Frag module blacklist?+

Most likely yes. Quickly check ip xfrm state on every host — if the output is empty, IPsec isn't currently in use and the mitigation has no trade-off. That's the more common case in DACH mid-market, because site-to-site connections typically run via WireGuard, dedicated VPN appliances, or cloud-provider tunnels rather than kernel IPsec.

What is an LPE like Dirty Frag — and how does an attacker land on the host in the first place?+

Local privilege escalation means: an attacker who already holds a low-privilege account on a machine can become root in short order. “Attacker is already in the system” sounds like low consequence — it isn't. Low-privilege accounts arise routinely from compromised web applications, leaked SSH keys from test accounts, container workloads, office machines with a compromised browser. LPE is the lever that turns each of those small footholds into full access. That's why the mitigation matters even when there's “no direct external attack path” in sight.

We audit, mitigate, and validate your Linux hosts against Dirty Frag.

You give us access to your Linux hosts — we audit with SBOM inventory, deploy the five-module blacklist (esp4, esp6, rxrpc, ipcomp4, ipcomp6) plus user namespace sysctl as a stopgap, follow up with the distribution patch in your maintenance window once it's available, and reproduce the public PoC before and after each step. You get an audit-ready report back, not a sales follow-up.

This is the operational routine behind DevSecOps as a Service and the External IT Department — platform operations, not advisory-on-paper. If you sit on Debian Stable or Ubuntu LTS today and can't say with certainty that the blacklist is active on every host, Microsoft's active-attack classification turns this from a „in a few days“ problem into a today problem.

Talk to us

Conclusion

Dirty Frag is a universal Linux LPE — every kernel since 2017 is affected, public PoC available, auto-load of the vulnerable modules without capability requirement. The robust answer is the distribution patch (available for Amazon Linux since 9 May, other distros following), and until then the module blacklist for three (UMich) or five (AWS) modules plus the user namespace block.

What matters more operationally than the single CVE is the pattern behind it: for the second time in eight days, a broad kernel flaw writes into the shared page cache and is triggered through what looks like a harmless netlink path. Anyone with a clear patch cadence, a robust SBOM inventory, and a detection setup on XFRM netlink calls answers „who is affected?“ in hours, not days. Anyone rolling out the mitigation declaratively (NixOS, Talos, Flatcar) gets the bonus that retracting it after the patch is a code change, not a spot-check audit.

Realistic risk framing: high for multi-tenant hosts, CI/CD runners, and Kubernetes workers. Medium for clean single-tenant production VMs. Low for sealed single-user workstations. The discipline Dirty Frag demands isn't an exception, the next universal LPE will demand the same. The stack that answers in a structured way today answers the same way next time, just faster.