Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach auth-enabled iperf3 server port
-
DeliverySend oversized RSA authtoken
-
ExploitBIO_read overflows 256-byte heap buffer
-
ExecutionCorrupt heap metadata/adjacent objects
-
ImpactAchieve code execution as iperf3 process
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Heap buffer bounds checking
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitable only against an iperf3 server (3.20 or 3.21) explicitly started in RSA-authentication mode - i.e., launched with --rsa-private-key-path and --authorized-users-path so that decrypt_rsa_message() processes client-supplied authtokens. Default iperf3 servers run WITHOUT authentication and never reach the vulnerable code path, so they are not affected. Within auth-enabled deployments there are no further limiters: the overflow occurs before credential validation, so the attacker needs no valid account (PR:N) and no user interaction (UI:N), only network reachability to the listening port. Primary limiting factor is the rarity of the opt-in authentication configuration; secondary is the general difficulty of turning a heap overflow into reliable code execution. |
| Impact | Signals are mixed and must be read together. The vendor CVSS 4.0 base of 9.2 (AV:N/AC:L/AT:P/PR:N/UI:N with VC:H/VI:H/VA:H) reflects a network-reachable, pre-authentication heap overflow yielding full technical impact - genuinely severe on paper. The AT:P (Attack Requirements: Present) metric is the key qualifier: exploitation is NOT possible against a default iperf3 server, because the vulnerable decrypt_rsa_message() path is only reached when the server is explicitly started in optional RSA-authentication mode (--rsa-private-key-path + --authorized-users-path). iperf3 authentication is opt-in and uncommon, so the real-world exposed population is a small subset of installs. No EPSS score, no CISA KEV listing, and no public POC are present in the input, so there is no signal of active or imminent mass exploitation; treat exploitation status as 'no public exploit identified at time of analysis'. There is also a semantic tension worth verifying: the flaw is described as 'pre-auth' (overflow occurs during authtoken decryption before credential validation, hence PR:N), yet it is only reachable when the operator has enabled authentication - 'unauthenticated attacker against an auth-enabled server.' Net: a high-severity memory-corruption bug that is a real priority for the minority of deployments running iperf3 as an auth-enabled server, but low practical risk for the vast default-config majority. |
| Exploit ScenarioDerived | An organization exposes an iperf3 server started in RSA-authentication mode (e.g., a shared throughput-test endpoint requiring credentials). An unauthenticated attacker who can reach the listening port sends a connection with an oversized RSA authtoken; the server BIO_reads the attacker-controlled ciphertext length into a fixed 256-byte heap buffer (the length guard only logs a warning), corrupting the heap and potentially achieving remote code execution as the iperf3 process. No public exploit code is identified at time of analysis, and reliable heap-overflow-to-RCE weaponization is non-trivial. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Heap-based buffer overflow in iperf3 3.20 and 3.21 allows an unauthenticated remote client to overrun a 256-byte RSA buffer inside decrypt_rsa_message() by sending an oversized authtoken, corrupting heap memory on the server and potentially achieving remote code execution or a crash (CWE-122). The flaw is only reachable when an operator has explicitly started the iperf3 server in RSA-authentication mode with --rsa-private-key-path and --authorized-users-path; default iperf3 servers run without authentication and never enter the vulnerable code path, which is reflected in the upstream CVSS 4.0 vector's AT:P (attack requirements present) and in our independent assessment of CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H. No public exploit identified at time of analysis, no CISA KEV listing, and no EPSS score was supplied; a vendor fix is released as iperf3 3.22.
RemediationAI
Upgrade to iperf3 3.22, the vendor-released patch version that resolves the overflow in decrypt_rsa_message() (release reference: https://newreleases.io/project/github/esnet/iperf/release/3.22). Where upgrading immediately is not possible, the most effective compensating control is to stop running the server in RSA-authentication mode: omit --rsa-private-key-path and --authorized-users-path so the vulnerable parsing path is never reached, at the cost of losing client authentication entirely - meaning any host that can reach the control port can run tests, so this should be paired with network-level access control. If authenticated operation is mandatory on 3.20/3.21, restrict TCP reachability of the iperf3 control port (default 5201) to trusted management networks or specific source addresses via host firewall or security group rules, and avoid exposing iperf3 servers to the public internet; this limits the attacker pool but does not remove the flaw for permitted clients. Because the overflow occurs before credential verification, rotating authorized-users files or RSA keys does not mitigate exploitation. Monitor for upgrades to 3.22 before re-enabling authentication on any previously exposed instance, and note that default non-authenticated iperf3 deployments require no action beyond routine patching.
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 the widely deployed network throughput measurement tool maintained by ESnet, and the affected code lives in its optional RSA-based client authentication path. When a server is started with an RSA private key and an authorized-users file, clients may attach an 'authtoken' to their control connection; the server parses that token, reads the ciphertext via OpenSSL's BIO_read() into a fixed 256-byte RSA buffer, and then decrypts it with the private key. In versions 3.20 and 3.21 the read length is taken from the attacker-controlled ciphertext length field rather than being clamped to the size of the destination buffer, and the internal length guard only emits a warning instead of aborting the read - so a token larger than 256 bytes writes past the end of the heap allocation (CWE-122, heap-based buffer overflow). Because parsing and decryption happen before any credential validation, the corruption occurs regardless of whether the client presents a valid username or key. The issue is tracked under CPE cpe:2.3:a:esnet:iperf3:*:*:*:*:*:*:*:* and ENISA EUVD-2026-90389, and was reported by Anthropic.
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
Overflow reachable only on servers running the optional RSA-auth mode and heap-overflow-to-RCE is non-trivial, so AC:H; attacker needs no credentials (pre-credential-check) so PR:N; code exec yields full CIA.
Primary rating from Vendor (Anthropic).
CVSS VectorVendor: Anthropic
DescriptionCVE.org
iperf3 3.20-3.21 (esnet/iperf) has a pre-auth heap buffer overflow in decrypt_rsa_message(): a 256-byte RSA buffer is BIO_read with the attacker-controlled ciphertext length (guard warns only), so an unauthenticated client overflows the heap via an oversized authtoken; fixed in 3.22
Executive ViewAI
iperf3 versions 3.20 and 3.21 contain a heap buffer overflow in the RSA authentication path of the server component, which an unauthenticated remote client could use to crash the service or potentially execute code on the host. Exposure is limited to servers that operators have deliberately started in RSA-authentication mode; default iperf3 servers never reach the vulnerable code. Because these are typically internal performance-testing and network-measurement hosts - often run with elevated privileges and reachable from multiple network segments - leadership should treat them as a tier of infrastructure worth inventorying and remediating promptly, even though no public exploit has been identified.
Apply vendor patch (upgrade to iperf3 3.22). Until upgraded, disable RSA-authentication server mode and restrict iperf3 listener access to trusted networks.
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
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
A heap overflow occurs when a program writes data beyond the bounds of a buffer allocated in the heap memory region.
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
Remote unauthenticated heap use-after-free in iperf3 3.21 can let an attacker crash or potentially execute code on an ex
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-90389
GHSA-pwcx-5qh6-2pxc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB