CVE Tools
Back to blog

NatJack: The Same NAT Flaw Got Windows and Linux Patched — Cisco and Apple Call It a Feature

A Black Hat researcher tested 32 NAT implementations from 13 vendors and found every one vulnerable to some part of a four-technique attack class. Two vendors shipped CVEs and fixes. Two didn't.

NatJack: The Same NAT Flaw Got Windows and Linux Patched — Cisco and Apple Call It a Feature. A Black Hat researcher tested 32 NAT implementations from 13 vendors and found every one vulnerable to s
NatJack: The Same NAT Flaw Got Windows and Linux Patched — Cisco and Apple Call It a Feature. A Black Hat researcher tested 32 NAT implementations from 13 vendors and found every one vulnerable to s

On August 6, 2026, at Black Hat USA, Synack Red Team researcher Malcolm Stagg told the room that the trust model underneath nearly every NAT device on the planet is broken. Two vendors listened and shipped CVEs and fixes. Two told him it wasn't a vulnerability at all.

What Stagg actually tested

NatJack — the name Stagg and Synack gave the attack class — targets network address translation (NAT), the mechanism that lets multiple devices share one public IP. NAT's connection-tracking table is supposed to keep each device's traffic separate. Stagg's research, conducted over several years and disclosed jointly through Synack Red Team and his own research entity SODIUM-24, LLC, shows that devices sharing a NAT table can be made to interfere with one another — a design assumption baked into how NAT behavior was originally specified, not a single vendor's coding mistake.

32products/configurations tested
13vendors notified
95individual reports filed
2CVEs assigned so far

The four NatJack techniques

All four rely on the same prerequisite: the attacker needs privileged access to a system sharing the victim's NAT — a co-tenant on a cloud gateway, another container on the same node, another user on the same shared VLAN. This isn't a drive-by internet attack; it's a lateral one.

TechniqueMechanismEffect
TCP session hijackingA spoofed SYN followed by an invalid-sequence RST forces the victim's connection into CLOSE early; the RFC 1337 "TIME-WAIT Assassination" mechanism Stagg identified speeds this to a handful of packets instead of a full timeout.The attacker's own flow claims the freed NAT mapping and traffic is redirected as if it were the victim's connection.
DNS response poisoningAttacker intercepts and alters UDP DNS responses passing through the shared NAT.Victim's DNS lookups resolve to attacker-controlled addresses without their knowledge.
Mapped-port discoveryAttacker probes the NAT to determine which external port it assigned to an active connection.Feeds the other three techniques the targeting information they need.
NAT-table exhaustionAttacker floods the table with spoofed flows until it fills.Every device sharing that NAT loses the ability to open new connections — a denial of service.

How the TCP hijack actually works

The Linux fix (CVE-2026-63913) describes the root cause precisely: conntrack's TCP state machine would force a connection to CLOSE on an RST with an invalid sequence number without checking that the RST was actually a valid reply in the correct direction. That's the exact bug NatJack's hijacking technique abuses.

NatJack TCP session hijack — mechanism

  1. Attacker shares the victim's NAT — Co-tenant on a cloud gateway, container, or shared VLAN
  2. Sends spoofed SYN + invalid-seq RST
  3. Conntrack force-closes the mapping — No direction check on the RST — the CVE-2026-63913 root cause
  4. RFC 1337 TIME-WAIT Assassination speeds closure
  5. Attacker's own flow claims the freed mapping
  6. Victim's traffic now routes through attacker's entry

Two CVEs came out of the disclosure

Of the 13 vendors Stagg notified, only Microsoft and the Linux kernel team assigned CVEs and shipped fixes.

CVEComponentCVSS 3.1CWEEPSSStatus
CVE-2026-56181Windows NAT (used by Hyper-V)8.3 — AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:HCWE-346 (Origin Validation Error)0.24% (14.8th pct)Patched — Windows 11 24H2/25H2/26H1, Server 2025
CVE-2026-63913Linux kernel Netfilter conntrack8.2 — AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:Hnot assigned in the NVD record0.62% (46.4th pct)Patched upstream, backported to 8 stable branches

From disclosure to Black Hat

  1. Malcolm Stagg joins Synack Red Team
    After his performance in a DARPA hardware bug bounty program.
  2. CVE-2026-56181 published
    Windows NAT origin-validation fix, ahead of public disclosure.
  3. CVE-2026-63913 published
    Linux Netfilter conntrack fix — patched upstream at Microsoft's request, for Azure Kubernetes Service.
  4. NatJack presented at Black Hat USA
    Cisco and Apple decline to treat their behavior as a vulnerability.

Patch it, or call it a feature

Even the vendors who patched didn't do so eagerly. Stagg told Network World the Linux kernel security team's first reaction to his report was that it was "totally bogus" — they fixed it anyway, reportedly after Microsoft asked for a fix to protect Azure Kubernetes Service. Cisco and Apple didn't move at all.

Two responses to the same root cause

Patched it
  • Microsoft — CVE-2026-56181, fixed builds shipped for Windows 11 24H2/25H2/26H1 and Windows Server 2025
  • Linux kernel — CVE-2026-63913, backported to 8 stable branches (5.10.259 through 7.1)
  • Linux security team's first reaction, per Stagg: "totally bogus" — fixed it regardless
Both assigned a CVE and shipped an update
Called it design behavior
  • Cisco PSIRT: "these reports are design-level NAT limitations rather than security" [vulnerabilities] — points to existing Secure Firewall / IOS XE mitigations instead
  • Apple Product Security: the behavior "reflects a known limitation" of the transport layer, since "modern security models assume the local network may be hostile"
No CVE, no CVSS score, no patch
I think it basically goes back to under-specification in some of the RFCs that just allow behaviors based on the assumption that you're in a network where the peers are trusted.
— Malcolm Stagg, via Network World

Where NatJack actually bites

Because the prerequisite is co-tenancy on a shared NAT, the environments that matter most are exactly the ones cloud and container platforms are built on:

  • Shared Kubernetes nodes and pods behind the same cluster NAT
  • Multi-tenant cloud NAT/egress gateways where unrelated customers' workloads share an outbound IP
  • VDI and shared jump-host environments where multiple users' sessions traverse one NAT device
  • Serverless platforms without dedicated per-function IPs

What to do about it now

  1. Apply the Windows and Linux updates that address CVE-2026-56181 and CVE-2026-63913.
  2. Encrypt traffic even on internal/local networks — Stagg notes an attacker can still hijack a connection but "can't send or receive any data over that connection unencrypted."
  3. Enable IP Source Guard or an equivalent anti-spoofing protection where the platform supports it.
  4. Segment untrusted workloads onto separate VLANs/subnets from trusted systems sharing the same NAT gateway.
  5. Cap connections per client (Stagg suggests roughly 10,000) to blunt table-exhaustion floods.
  6. Disable loose connection tracking, port preservation, and endpoint-independent mapping where not required.
  7. In containers/Kubernetes: restrict network access, avoid running as root, and drop default capabilities.
  8. Monitor for a full/near-full NAT table, floods across wide port ranges, duplicate IPs appearing in two places, and anomalous SYN/RST sequences.

What we don't know

CVE data as of 2026-08-13