Network Address Translation (NAT) has long been a fundamental method for managing IP address allocation in larger networks, originally crafted as a workaround for the decreasing availability of IPv4 addresses. However, recent revelations challenge the notion that NAT effectively secures private IP addresses. At Black Hat USA 2026, Malcolm Stagg, an independent researcher and member of the Synack Red Team, introduced the NatJack attack, which manipulates the NAT connection tracking table.
NatJack enables attackers sharing a NAT boundary with a victim to hijack live connections, poison DNS responses, and initiate denial of service attacks—all without needing the complex IP spoofing or broadcast domain access that characterized previous Layer 2 exploits. A thorough examination encompassing 32 products across 95 configurations revealed that every implementation tested showed vulnerabilities associated with NatJack techniques.
Disrupting NAT Trust
The core of the NAT framework has never been its emphasis on security; it emerged in the early 1990s as a stopgap solution to the IPv4 address crisis, based on an assumption of trust among peers on the same network. As Stagg pointed out, “this basically stems from under-specification in some of the RFCs allowing behaviors based on the trust assumption.”
User awareness of NAT vulnerabilities isn't new; past exploits like Samy Kamkar's NAT Pinning in 2010 and NAT Slipstreaming in 2020 demonstrated earlier weaknesses. However, NatJack distinguishes itself by directly manipulating the NAT table without requiring any user interaction or reliance on Application Level Gateways (ALGs).
What’s alarming is the attack's disregard for traditional defensive measures. VLAN segmentation and switch port isolation provide little protection since NatJack targets shared NAT infrastructure at Layer 3 and Layer 4, circumventing local broadcast limitations. This vulnerability spans multiple operating systems—Windows, Linux, and macOS—pointing towards fundamental design flaws rather than isolated bugs.
Attack Techniques Under NatJack
NatJack encompasses four unique attack vectors, all exploiting the same inherent weakness in NAT table management:
- TCP Connection Hijacking: Attackers can force a victim’s session into a closed state using spoofed packets and alter the NAT table to redirect that connection to their device using a technique based on the RFC 1337 TIME-WAIT Assassination mechanism.
- DNS Response Poisoning: This technique intercepts and modifies DNS responses flowing through the NAT, diverting victims' lookups without their knowledge.
- Denial of Service: This attack aims to exhaust the NAT table itself, resulting in connectivity failures for every device on that NAT.
- Connection Port Identification: Attackers can detect which port a NAT has assigned to an active connection, aiding in the execution of the previous techniques.
Mixed Reactions from Vendors
After the responsible disclosure of these vulnerabilities, vendor responses have been inconsistent. Some companies initiated formal patches, while others outright dismissed the findings. The Linux kernel security team's initial rejection of Stagg's report as “totally bogus” surprised him, although the kernel was later corrected to accommodate requests from Microsoft, leading to CVE-2026-63913.
Meanwhile, Microsoft identified its own Windows NAT issue with Hyper-V, assigning it CVE-2026-56181. However, some vendors like Cisco and Apple characterized the findings as inherent design limitations rather than security flaws. Cisco’s PSIRT indicated that existing mitigations could prevent most of these issues, while Apple emphasized reliance on encryption technologies like TLS to safeguard against attacks, asserting that NAT's behavior reflects known transport layer limits.
Stagg echoed that while encryption mitigates some of NatJack's effects, it doesn’t negate the threat entirely. “Encryption helps, but attackers can still hijack connections, potentially disrupting functionality.”
Strategies for Detection and Mitigation
In light of the current vulnerabilities, network professionals can adopt various strategies to mitigate risks associated with NatJack:
- Monitor for signs of compromise: Keep an eye out for saturated NAT tables, unusual TCP or UDP packet floods, identical IPs in disparate locations, and irregular SYN or RST sequences.
- Enable source IP protection: Activating features like IP Source Guard on routers or firewalls can help prevent spoofed packets.
- Separate untrusted traffic: Isolating untrusted users on distinct subnets or VLANs while capping connections per client can enhance security.
- Disable permissive connection tracking: Turning off loose connection modes where supported can bolster defenses.
- Restrict container access: Network access for untrusted containers should be disabled, aligned with best practices for Kubernetes workloads.
- Isolate cloud workloads: Keeping trusted and untrusted workloads separate and using dedicated IPs can reduce risk.
Stagg warns that variants of these attacks can still succeed even with differences in subnet locations. The broader imperative is to rethink existing trust models and design assumptions underpinning NAT. Stagg emphasizes this fundamental shift: “Many networks are exposed to vulnerabilities, and you can't rely solely on historical Layer 2 protections. Threat models are not static; they evolve, demanding ongoing scrutiny of design principles.”