summaryrefslogtreecommitdiffstats
path: root/0004-libssh2-1.8.0-CVE-2019-3858.patch
blob: 04914c562782ad5a65791f4ba9a5ddb10a95adf2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From f06cf3a20dc3f54b7a9fc8127eb7719462caab39 Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Tue, 19 Mar 2019 13:32:05 +0100
Subject: [PATCH] Resolves: CVE-2019-3858 - fix zero-byte allocation

... with a specially crafted SFTP packet leading to an out-of-bounds read

Upstream-Patch: https://libssh2.org/1.8.0-CVE/CVE-2019-3858.patch
---
 src/sftp.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/sftp.c b/src/sftp.c
index 7c44116..65cef85 100644
--- a/src/sftp.c
+++ b/src/sftp.c
@@ -345,6 +345,10 @@ sftp_packet_read(LIBSSH2_SFTP *sftp)
                 return _libssh2_error(session,
                                       LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED,
                                       "SFTP packet too large");
+            if (sftp->partial_len == 0)
+                return _libssh2_error(session,
+                                      LIBSSH2_ERROR_ALLOC,
+                                      "Unable to allocate empty SFTP packet");
 
             _libssh2_debug(session, LIBSSH2_TRACE_SFTP,
                            "Data begin - Packet Length: %lu",
-- 
2.17.2