ICMP Timestamp Type 13/14 Linux Kernel Internals: RFC 792 Deviations & ftrace Call Chain Analysis

icmp_timestamp() is implemented in every Linux kernel but never scrutinized at source level. A depth-8 ftrace investigation reveals six RFC 792 deviations: silent payload length threshold, Code field never validated, ts_ori echoed unconditionally across the full 32-bit range, conntrack state creation on Type 13, netfilter hook ordering, and reply generation path that bypasses standard socket accounting. Full call chain mapped: ip_rcv() → icmp_rcv() → icmp_timestamp() → icmp_reply() with all branching conditions documented.

July 7, 2026 · 12 min · JM00NJ

DNS State Exhaustion: Water Torture, NXNS Amplification, TsuNAME & DoT/DoH Socket Starvation

UDP DNS is stateful in practice: recursive resolvers hold per-query client tables, delegation chain depth counters, DNSSEC validation state, and TCP connection pools for DoT/DoH. Each layer is exhaustible at different cost ratios. Water torture generates maximum valid NXDOMAIN workload at minimum bandwidth. NXNS amplification (CVE-2020-8616) forces resolver delegation storms via NS referrals. TsuNAME creates infinite cyclic delegation. NRDelegation combines both. Full BIND9/Unbound configuration hardening and rate-limiting defense included.

May 11, 2026 · 13 min · JM00NJ

TCP State Exhaustion: TIME_WAIT Flood, Sockstress Persist Timer Abuse & Conntrack DoS | Linux Kernel

The ‘65536 port limit’ framing is wrong — Linux TCP capacity is governed by 4-tuple uniqueness (src_ip:src_port:dst_ip:dst_port) and ip_conntrack_max. TIME_WAIT exhaustion holds sockets in 2MSL timeout, consuming conntrack entries. Sockstress sets TCP window=0 to trigger infinite Persist Timer loops, stalling server state machines with minimal bandwidth. Slowloris-class variants do the same at L7. Full kernel parameter analysis: tcp_tw_reuse, tcp_fin_timeout, conntrack_max, and per-attack mitigation.

May 11, 2026 · 11 min · JM00NJ
DigitalOcean Referral Badge