Skip to content

Rotten Code, Aging Standards, & Pwning IPv4 Parsing

Kelly KaoudisSick Codes

Kelly Kaoudis and Sick Codes disclose systemic IPv4 address parsing flaws across major programming languages (Python, Go, Rust), enabling SSRF and access bypasses.

Summary

Decades of Inconsistent IPv4 Address Parsing Standards

Although IPv4 is the bedrock of internet communications, modern programming language libraries interpret non-standard IP formats (such as leading zeros and octal notation) inconsistently.

Discovering Discrepancies Across Language Runtimes

Kelly Kaoudis and Sick Codes uncover that Python's `ipaddress`, Go's `net`, and Rust parsers handle octal and hex notation differently from underlying operating system socket APIs.

Weaponizing Parsing Discrepancies for SSRF and ACL Bypasses

By supplying IP strings with leading zeros (e.g. `0127.0.0.1`), attackers bypass allowlists and firewall rules to target internal cloud metadata endpoints.

Coordinated Industry-Wide Upstream Patching

The authors detail the massive coordinated patch release across Python, Rust, Go, Node.js, and core operating system networking libraries.

Related talks

Main Stage·44 min

  • DEF CON
  • AppSec
  • Date: Aug 2021
  • Location: Las Vegas

Richard Henderson

Richard Henderson encodes the classic EICAR antivirus test string into QR codes and physical barcodes, triggering unexpected security alarms and system crashes across scanning hardware.

eicarantivirusbarcode+2

Main Stage·20 min

  • DEF CON
  • AppSec
  • Date: Aug 2020
  • Location: Online

Joshua Maddux

Joshua Maddux weaponizes TLS protocol features—including session resumption and SNI parsing—to execute advanced Server-Side Request Forgery (SSRF) attacks.

tlsssrfprotocol-smuggling+2