ESnet (Energy Sciences Network) is proud to announce the availability of iperf-3.17. This release includes several important bug fixes, as well as a correction for a possible side-channel timing vulnerability. To address this issue, a change has been made to the padding applied to encrypted strings. This change is not backwards compatible with older versions of iperf3 (before 3.17). To restore older (vulnerable) behavior for backwards compatibility, please use the --use-pkcs1-padding flag.
Special thanks to Hubert Kario from RedHat for reporting this issue and providing feedback for the fix (CVE-2024-26306).
This release also includes several other changes, including a new --json-stream option, and it no longer changes its current working directory in --daemon mode. It also includes bug fixes for UDP tests operating between two different endian hosts, and the --fq-rate parameter now works in reverse tests. Statistics reporting interval is now available in the --json start test object, and a negative time duration is now correctly reported as an error.
The 3.17 release also includes additional support for Android, VxWorks, and now builds correctly on architectures without native support for 64-bit atomic types.
iperf3 is a tool for measuring the maximum TCP, UDP, and SCTP throughput along a path, allowing for the tuning of various parameters and reporting measurements such as throughput, jitter, and datagram packet loss. It is fully supported on Linux, FreeBSD, and macOS. It may run on other platforms as well, although it has not received the same attention and testing. Note that iperf3 is not compatible with, and will not interoperate with, version 2 or earlier of iperf, although the two versions can co-exist on the same hosts and networks.