Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconConnect to exposed iperf3 server
-
DeliveryStart test spawning worker threads
-
ExploitStall worker to hold stream reference
-
InstallTrigger per-test watchdog timeout
-
C2Watchdog frees active iperf_stream
-
ExecuteBlocked worker dereferences freed heap
-
ImpactServer crash or code execution
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a reachable iperf3 3.21 server running in server mode (iperf3 -s) accepting connections from the attacker; no authentication or user interaction is needed (PR:N/UI:N). The limiting factor is the race condition (AT:P): the attacker must cause a worker thread to remain blocked while the per-test watchdog timer (server_timer_proc) fires and frees the iperf_stream, so exploitation hinges on timing the attacker only partially controls, and success is not guaranteed on a single attempt. Only iperf3 servers exposed to untrusted networks are practically at risk; client-only or firewalled deployments are not. |
| Impact | The vendor CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H, 9.2) describes a remote, unauthenticated heap use-after-free with full impact to the vulnerable system, but the AT:P attack-requirement is the pivotal signal: exploitation depends on winning a timing race between the per-test watchdog (server_timer_proc) freeing an iperf_stream and a still-blocked worker thread dereferencing it. That race makes reliable exploitation nontrivial, and while any UAF is a candidate for code execution, the most dependable outcome against a network daemon is a server crash (denial of service); the VC:H/VI:H claims are aspirational for a UAF of this shape and not demonstrated. There is no EPSS score, no CISA KEV listing, and no public POC in the provided data, and the finding was self-reported by Anthropic rather than observed in the wild - so this is a credible, high-severity latent bug rather than an active threat. Priority is real for anyone exposing an iperf3 3.21 server to untrusted networks (unauthenticated + network reachable), but the race condition and absence of any exploitation evidence place realistic urgency below what the raw 9.2 would suggest. |
| Exploit ScenarioDerived | An attacker reachable on the network connects as an unauthenticated iperf3 client to a running iperf3 3.21 server and initiates a test that spawns worker threads. By stalling a worker so it holds a reference to an iperf_stream while the server's per-test watchdog timer fires and frees that stream, the attacker triggers the blocked worker to dereference freed heap memory, crashing the server and potentially corrupting the heap. No public exploit code has been identified, and the AT:P attack requirement means the attacker must reliably win the free-versus-dereference race. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Remote unauthenticated heap use-after-free in iperf3 3.21 can let an attacker crash or potentially execute code on an exposed iperf3 server. The flaw occurs in server mode when the per-test watchdog frees an iperf_stream without joining the worker thread, and a blocked worker then dereferences the freed memory; exploitation requires winning a timing race (AT:P), so success is not guaranteed on a single attempt. No public exploit identified at time of analysis; the vendor fix is iperf3 3.22.
RemediationAI
Vendor-released patch: upgrade to iperf3 3.22 (see https://newreleases.io/project/github/esnet/iperf/release/3.22). Because the flaw is a race condition in the server-mode watchdog, there is no reliable runtime workaround; the most effective compensating controls are to avoid exposing iperf3 server mode to untrusted networks by restricting access to TCP port 5201 (default) via firewall or bind to localhost/management interfaces, and to run the server as an unprivileged user in an isolated container or network namespace to limit impact if a crash-to-code-execution chain is achieved. These controls reduce the attack surface but do not eliminate the UAF on their own, and they may prevent legitimate remote throughput testing; patching remains the only complete fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
iperf3 is a widely used network throughput measurement tool from esnet/iperf. In server mode (iperf3 -s), the daemon accepts test connections and spawns per-test worker threads plus a per-test watchdog timer routine, server_timer_proc(). CWE-416 (Use After Free) arises because server_timer_proc() frees iperf_stream structures without cancelling or joining the associated worker threads; if a worker thread remains blocked (e.g., in a socket operation) when the timer fires, the worker later dereferences the freed iperf_stream, corrupting heap memory. The independent assessment notes this is a race condition (AT:P in CVSS 4.0) that the attacker only partially controls, consistent with the CVSS 3.1 AC:H rating. The CPE cpe:2.3:a:esnet:iperf3:*:*:*:*:*:*:*:* identifies the esnet iperf3 product, and the affected code path is reachable remotely without authentication (PR:N) or user interaction (UI:N). Successful exploitation can cause a crash and, depending on heap layout, may allow code execution or information disclosure.
Know when Iperf3 gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Remote unauthenticated against a listening server (AV:N/PR:N/UI:N); AC:H reflects the required free-versus-dereference race; full impact retained since a UAF can yield crash or code execution.
Primary rating from Vendor (Anthropic).
CVSS VectorVendor: Anthropic
DescriptionCVE.org
iperf3 3.21 (esnet/iperf) contains a remote, unauthenticated heap use-after-free: the server's per-test watchdog server_timer_proc() frees streams without cancelling/joining their worker threads, so a blocked worker dereferences a freed iperf_stream; fixed in 3.22.
Executive ViewAI
Every iperf3 3.21 server instance that is reachable from a network we do not fully control represents a potential remote crash or code-execution foothold, and the vendor's fix lands only in iperf3 3.22. Because iperf3 is usually deployed by network, cloud, and infrastructure teams as a long-running or temporarily exposed listener, ownership is often informal and these hosts frequently sit outside standard server patching cycles. Leadership should care because a compromised performance-testing host can serve as an unmonitored entry point into otherwise segmented network ranges, and success depends on a timing race rather than a reliable exploit.
Apply vendor patch (iperf3 3.22); until upgraded, disable iperf3 server mode where not required and restrict port 5201 access to trusted networks with host-based and perimeter filtering.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
The parse_string function in cjson.c in the cJSON library mishandles UTF8/16 strings, which allows remote attackers to c
iperf v3.17.1 was discovered to contain a segmentation violation via the iperf_exchange_parameters() function. Rated hig
Heap-based buffer overflow in iperf3 3.20 and 3.21 allows an unauthenticated remote client to overrun a 256-byte RSA buf
Denial of service in iperf3 prior to 3.22 allows unauthenticated remote attackers to permanently pin a UDP receive worke
iperf3 before 3.14 allows peers to cause an integer overflow and heap corruption via a crafted length field. Rated high
iPerf3 before 3.17, when used with OpenSSL before 3.2.0 as a server with RSA authentication, allows a timing side channe
In iperf before 3.19.1, net.c has a buffer overflow when --skip-rx-copy is used (for MSG_TRUNC in recv). Rated high seve
In iperf before 3.19.1, iperf_auth.c has a Base64Decode assertion failure and application exit upon a malformed authenti
In iperf before 3.19.1, iperf_auth.c has an off-by-one error and resultant heap-based buffer overflow. Rated medium seve
EUVD-2026-90387
GHSA-pmgg-x2vj-36cv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB