Skip to content

Commit e530f31

Browse files
corvus-calliduschristopherco
authored andcommitted
Patch iperf3 to fix compat with openssl 3.3.5 (#14962)
Co-authored-by: Christopher Co <35273088+christopherco@users.noreply.github.com>
1 parent 52caab9 commit e530f31

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

SPECS/iperf3/iperf3.spec

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Summary: A network performance benchmark tool.
22
Name: iperf3
33
Version: 3.17.1
4-
Release: 3%{?dist}
4+
Release: 4%{?dist}
55
License: BSD and MIT and Public Domain
66
Vendor: Microsoft Corporation
77
Distribution: Azure Linux
@@ -12,8 +12,11 @@ Patch1: disablepg.patch
1212
Patch2: CVE-2024-53580.patch
1313
Patch3: CVE-2025-54350.patch
1414
Patch4: CVE-2025-54349.patch
15+
Patch5: openssl_encrypt_buffer_size.patch
1516
BuildRequires: autoconf >= 2.71
1617
BuildRequires: automake
18+
BuildRequires: openssl
19+
Requires: openssl
1720

1821
%description
1922
ipref is a network performance measurement tool that can measure the maximum
@@ -69,6 +72,9 @@ make %{?_smp_mflags} check
6972
%{_mandir}/man3/libiperf.3.gz
7073

7174
%changelog
75+
* Tue Oct 14 2025 corvus-callidus <108946721+corvus-callidus@users.noreply.github.com> - 3.17.1-4
76+
- Patch for openssl buffer size issue during RSA encryption
77+
7278
* Mon Aug 04 2025 Azure Linux Security Servicing Account <azurelinux-security@microsoft.com> - 3.17.1-3
7379
- Patch for CVE-2025-54350, CVE-2025-54349
7480

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
From aab262afe1770b55bb865fd4dad2d5e737c758a6 Mon Sep 17 00:00:00 2001
2+
From: Michael Lowman <michael.d.lowman@gmail.com>
3+
Date: Wed, 8 Oct 2025 22:40:07 +0200
4+
Subject: [PATCH] Set output buffer size prior to encrypt operation
5+
6+
When calling EVP_PKEY_encrypt with a non-null output buffer,
7+
the output buffer length must be provided. Attempts to write
8+
beyond this length will fail.
9+
---
10+
src/iperf_auth.c | 1 +
11+
1 file changed, 1 insertion(+)
12+
13+
diff --git a/src/iperf_auth.c b/src/iperf_auth.c
14+
index eda015099..774e1b701 100644
15+
--- a/src/iperf_auth.c
16+
+++ b/src/iperf_auth.c
17+
@@ -255,6 +255,7 @@ int encrypt_rsa_message(const char *plaintext, EVP_PKEY *public_key, unsigned ch
18+
#endif
19+
rsa_buffer = OPENSSL_malloc(keysize * 2);
20+
*encryptedtext = (unsigned char*)OPENSSL_malloc(keysize);
21+
+ encryptedtext_len = keysize;
22+
23+
BIO *bioBuff = BIO_new_mem_buf((void*)plaintext, (int)strlen(plaintext));
24+
rsa_buffer_len = BIO_read(bioBuff, rsa_buffer, keysize * 2);

0 commit comments

Comments
 (0)