059a69ca2f338de2c0a68d31f8e29423b858285b
[feed/packages.git] / libs / libssh / patches / 0004-messages-Check-that-the-requested-service-is-ssh-con.patch
1 From 3fe7510b261098e3937ab5417935916a46e6727b Mon Sep 17 00:00:00 2001
2 From: Andreas Schneider <asn@cryptomilk.org>
3 Date: Fri, 19 Oct 2018 11:40:44 +0200
4 Subject: [PATCH 4/8] messages: Check that the requested service is
5 'ssh-connection'
6
7 Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
8 (cherry picked from commit 9c200d3ef4f62d724d3bae2563b81c38cc31e215)
9 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
10 ---
11 src/messages.c | 8 ++++++++
12 1 file changed, 8 insertions(+)
13
14 --- a/src/messages.c
15 +++ b/src/messages.c
16 @@ -649,6 +649,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_
17 ssh_message msg = NULL;
18 char *service = NULL;
19 char *method = NULL;
20 + int cmp;
21 int rc;
22
23 (void)user;
24 @@ -675,6 +676,13 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_
25 service, method,
26 msg->auth_request.username);
27
28 + cmp = strcmp(service, "ssh-connection");
29 + if (cmp != 0) {
30 + SSH_LOG(SSH_LOG_WARNING,
31 + "Invalid service request: %s",
32 + service);
33 + goto end;
34 + }
35
36 if (strcmp(method, "none") == 0) {
37 msg->auth_request.method = SSH_AUTH_METHOD_NONE;