Skip to content

Commit c4e68c2

Browse files
[AutoPR- Security] Patch libssh2 for CVE-2026-7598 [HIGH] (microsoft#17009)
1 parent c2aa9b5 commit c4e68c2

6 files changed

Lines changed: 73 additions & 11 deletions

File tree

SPECS/libssh2/CVE-2026-7598.patch

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
From 427c38f1a0e24439f4c7742b5452263929b35b87 Mon Sep 17 00:00:00 2001
2+
From: Will Cosgrove <will@panic.com>
3+
Date: Mon, 13 Apr 2026 11:18:25 -0700
4+
Subject: [PATCH] userauth.c: username_len bounds checking (#1858)
5+
6+
Return errors when username_len will exceed bounds, fix existing bounds
7+
check.
8+
9+
Credit:
10+
[dapickle](https://github.com/dapickle)
11+
12+
Signed-off-by: Azure Linux Security Servicing Account <azurelinux-security@microsoft.com>
13+
Upstream-reference: https://github.com/libssh2/libssh2/commit/256d04b60d80bf1190e96b0ad1e91b2174d744b1.patch
14+
---
15+
src/userauth.c | 13 ++++++++++++-
16+
1 file changed, 12 insertions(+), 1 deletion(-)
17+
18+
diff --git a/src/userauth.c b/src/userauth.c
19+
index 0040c3f..588b83f 100644
20+
--- a/src/userauth.c
21+
+++ b/src/userauth.c
22+
@@ -80,6 +80,12 @@ static char *userauth_list(LIBSSH2_SESSION *session, const char *username,
23+
memset(&session->userauth_list_packet_requirev_state, 0,
24+
sizeof(session->userauth_list_packet_requirev_state));
25+
26+
+ if(username_len > UINT32_MAX - 27) {
27+
+ _libssh2_error(session, LIBSSH2_ERROR_PROTO,
28+
+ "username_len out of bounds");
29+
+ return NULL;
30+
+ }
31+
+
32+
session->userauth_list_data_len = username_len + 27;
33+
34+
s = session->userauth_list_data =
35+
@@ -307,6 +313,11 @@ userauth_password(LIBSSH2_SESSION *session,
36+
* 40 = packet_type(1) + username_len(4) + service_len(4) +
37+
* service(14)"ssh-connection" + method_len(4) + method(8)"password" +
38+
* chgpwdbool(1) + password_len(4) */
39+
+ if(username_len > UINT32_MAX - 40) {
40+
+ return _libssh2_error(session, LIBSSH2_ERROR_PROTO,
41+
+ "username_len out of bounds");
42+
+ }
43+
+
44+
session->userauth_pswd_data_len = username_len + 40;
45+
46+
session->userauth_pswd_data0 =
47+
@@ -447,7 +458,7 @@ password_response:
48+
}
49+
50+
/* basic data_len + newpw_len(4) */
51+
- if(username_len + password_len + 44 <= UINT_MAX) {
52+
+ if(username_len <= UINT32_MAX - password_len - 44) {
53+
session->userauth_pswd_data_len =
54+
username_len + password_len + 44;
55+
s = session->userauth_pswd_data =
56+
--
57+
2.45.4
58+

SPECS/libssh2/libssh2.spec

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
Summary: libssh2 is a library implementing the SSH2 protocol.
44
Name: libssh2
55
Version: 1.11.1
6-
Release: 1%{?dist}
6+
Release: 2%{?dist}
77
License: BSD
88
URL: https://www.libssh2.org/
99
Group: System Environment/NetworkingLibraries
1010
Vendor: Microsoft Corporation
1111
Distribution: Azure Linux
1212
Source0: https://www.libssh2.org/download/libssh2-%{version}.tar.gz
13+
Patch0: CVE-2026-7598.patch
1314
BuildRequires: openssl-devel
1415
BuildRequires: zlib-devel
1516

@@ -57,6 +58,9 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';'
5758
%{_mandir}/man3/*
5859

5960
%changelog
61+
* Mon May 04 2026 Azure Linux Security Servicing Account <azurelinux-security@microsoft.com> - 1.11.1-2
62+
- Patch for CVE-2026-7598
63+
6064
* Fri Apr 04 2025 Sumedh Sharma <sumsharma@microsoft.com> - 1.11.1-1
6165
- Bump patch version to fix CVE-2023-48795.
6266

toolkit/resources/manifests/package/pkggen_core_aarch64.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,8 @@ e2fsprogs-1.47.0-2.azl3.aarch64.rpm
193193
e2fsprogs-devel-1.47.0-2.azl3.aarch64.rpm
194194
libsolv-0.7.28-3.azl3.aarch64.rpm
195195
libsolv-devel-0.7.28-3.azl3.aarch64.rpm
196-
libssh2-1.11.1-1.azl3.aarch64.rpm
197-
libssh2-devel-1.11.1-1.azl3.aarch64.rpm
196+
libssh2-1.11.1-2.azl3.aarch64.rpm
197+
libssh2-devel-1.11.1-2.azl3.aarch64.rpm
198198
krb5-1.21.3-3.azl3.aarch64.rpm
199199
krb5-devel-1.21.3-3.azl3.aarch64.rpm
200200
nghttp2-1.61.0-3.azl3.aarch64.rpm

toolkit/resources/manifests/package/pkggen_core_x86_64.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,8 @@ e2fsprogs-1.47.0-2.azl3.x86_64.rpm
193193
e2fsprogs-devel-1.47.0-2.azl3.x86_64.rpm
194194
libsolv-0.7.28-3.azl3.x86_64.rpm
195195
libsolv-devel-0.7.28-3.azl3.x86_64.rpm
196-
libssh2-1.11.1-1.azl3.x86_64.rpm
197-
libssh2-devel-1.11.1-1.azl3.x86_64.rpm
196+
libssh2-1.11.1-2.azl3.x86_64.rpm
197+
libssh2-devel-1.11.1-2.azl3.x86_64.rpm
198198
krb5-1.21.3-3.azl3.x86_64.rpm
199199
krb5-devel-1.21.3-3.azl3.x86_64.rpm
200200
nghttp2-1.61.0-3.azl3.x86_64.rpm

toolkit/resources/manifests/package/toolchain_aarch64.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,9 +229,9 @@ libsolv-0.7.28-3.azl3.aarch64.rpm
229229
libsolv-debuginfo-0.7.28-3.azl3.aarch64.rpm
230230
libsolv-devel-0.7.28-3.azl3.aarch64.rpm
231231
libsolv-tools-0.7.28-3.azl3.aarch64.rpm
232-
libssh2-1.11.1-1.azl3.aarch64.rpm
233-
libssh2-debuginfo-1.11.1-1.azl3.aarch64.rpm
234-
libssh2-devel-1.11.1-1.azl3.aarch64.rpm
232+
libssh2-1.11.1-2.azl3.aarch64.rpm
233+
libssh2-debuginfo-1.11.1-2.azl3.aarch64.rpm
234+
libssh2-devel-1.11.1-2.azl3.aarch64.rpm
235235
libstdc++-13.2.0-7.azl3.aarch64.rpm
236236
libstdc++-devel-13.2.0-7.azl3.aarch64.rpm
237237
libtasn1-4.19.0-3.azl3.aarch64.rpm

toolkit/resources/manifests/package/toolchain_x86_64.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -237,9 +237,9 @@ libsolv-0.7.28-3.azl3.x86_64.rpm
237237
libsolv-debuginfo-0.7.28-3.azl3.x86_64.rpm
238238
libsolv-devel-0.7.28-3.azl3.x86_64.rpm
239239
libsolv-tools-0.7.28-3.azl3.x86_64.rpm
240-
libssh2-1.11.1-1.azl3.x86_64.rpm
241-
libssh2-debuginfo-1.11.1-1.azl3.x86_64.rpm
242-
libssh2-devel-1.11.1-1.azl3.x86_64.rpm
240+
libssh2-1.11.1-2.azl3.x86_64.rpm
241+
libssh2-debuginfo-1.11.1-2.azl3.x86_64.rpm
242+
libssh2-devel-1.11.1-2.azl3.x86_64.rpm
243243
libstdc++-13.2.0-7.azl3.x86_64.rpm
244244
libstdc++-devel-13.2.0-7.azl3.x86_64.rpm
245245
libtasn1-4.19.0-3.azl3.x86_64.rpm

0 commit comments

Comments
 (0)