Skip to content

Commit 9204ae7

Browse files
authored
Merge pull request #672 from ejohnstown/release-v1.4.17
Prepare Release v1.4.17
2 parents 295e5ab + a91a1fd commit 9204ae7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+258
-217
lines changed

ChangeLog.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,55 @@
1+
# wolfSSH v1.4.17 (March 25, 2024)
2+
3+
## Vulnerabilities
4+
5+
* Fixes a vulnerability where a properly crafted SSH client can bypass user
6+
authentication in the wolfSSH server code. The added fix filters the
7+
messages that are allowed during different operational states.
8+
9+
## Notes
10+
11+
* When building wolfSSL/wolfCrypt versions before v5.6.6 with CMake,
12+
wolfSSH may have a problem with RSA keys. This is due to wolfSSH not
13+
checking on the size of `___uint128_t`. wolfSSH sees the RSA structure
14+
as the wrong size. You will have to define `HAVE___UINT128_T` if you
15+
know you have it and are using it in wolfSSL. wolfSSL v5.6.6 exports that
16+
define in options.h when using CMake.
17+
* The example server in directory examples/server/server.c has been removed.
18+
It was never kept up to date, the echoserver did its job as an example and
19+
test server.
20+
21+
## New Features
22+
23+
* Added functions to set algorithms lists for KEX at run-time, and some
24+
functions to inspect which algorithms are set or are available to use.
25+
* In v1.4.15, we had disabled SHA-1 in the build by default. SHA-1 has been
26+
re-enabled in the build and is now "soft" disabled, where algorithms using
27+
it can be configured for KEX.
28+
* Add Curve25519 KEX support for server/client key agreement.
29+
30+
## Improvements
31+
32+
* Clean up some issues when building for Nucleus.
33+
* Clean up some issues when building for Windows.
34+
* Clean up some issues when building for QNX.
35+
* Added more wolfSSHd testing.
36+
* Added more appropriate build option guard checking.
37+
* General improvements for the ESP32 builds.
38+
* Better terminal support in Windows.
39+
* Better I/O pipes and return codes when running commands or scripts over an
40+
SSH connection.
41+
42+
## Fixes
43+
44+
* Fix shell terminal window resizing and it sets up the environment better.
45+
* Fix some corner cases with the SFTP testing.
46+
* Fix some corner cases with SFTP in general.
47+
* Fix verifying RSA signatures.
48+
* Add masking of file mode bits for Zephyr.
49+
* Fix leak of terminal modes cache.
50+
51+
---
52+
153
# wolfSSH v1.4.15 (December 22, 2023)
254

355
## Vulnerabilities

apps/wolfssh/common.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* common.c
22
*
3-
* Copyright (C) 2014-2023 wolfSSL Inc.
3+
* Copyright (C) 2014-2024 wolfSSL Inc.
44
*
55
* This file is part of wolfSSH.
66
*
@@ -451,7 +451,8 @@ int ClientPublicKeyCheck(const byte* pubKey, word32 pubKeySz, void* ctx)
451451
current->ipString);
452452
WLOG(WS_LOG_DEBUG,
453453
"\texpecting host IP : %s", (char*)ctx);
454-
if (XSTRCMP(ctx, current->ipString) == 0) {
454+
if (XSTRCMP((const char*)ctx,
455+
current->ipString) == 0) {
455456
WLOG(WS_LOG_DEBUG, "\tmatched!");
456457
ipMatch = 1;
457458
}

apps/wolfssh/common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* common.h
22
*
3-
* Copyright (C) 2014-2023 wolfSSL Inc.
3+
* Copyright (C) 2014-2024 wolfSSL Inc.
44
*
55
* This file is part of wolfSSH.
66
*

apps/wolfssh/wolfssh.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* wolfssh.c
22
*
3-
* Copyright (C) 2014-2023 wolfSSL Inc.
3+
* Copyright (C) 2014-2024 wolfSSL Inc.
44
*
55
* This file is part of wolfSSH.
66
*
@@ -794,7 +794,7 @@ static int config_parse_command_line(struct config* config,
794794
free(config->user);
795795
}
796796
sz = WSTRLEN(cursor);
797-
config->user = WMALLOC(sz + 1, NULL, 0);
797+
config->user = (char*)WMALLOC(sz + 1, NULL, 0);
798798
strcpy(config->user, cursor);
799799
cursor = found + 1;
800800
}

apps/wolfsshd/auth.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* auth.c
22
*
3-
* Copyright (C) 2014-2023 wolfSSL Inc.
3+
* Copyright (C) 2014-2024 wolfSSL Inc.
44
*
55
* This file is part of wolfSSH.
66
*

apps/wolfsshd/auth.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* auth.h
22
*
3-
* Copyright (C) 2014-2023 wolfSSL Inc.
3+
* Copyright (C) 2014-2024 wolfSSL Inc.
44
*
55
* This file is part of wolfSSH.
66
*

apps/wolfsshd/configuration.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* configuration.c
22
*
3-
* Copyright (C) 2014-2023 wolfSSL Inc.
3+
* Copyright (C) 2014-2024 wolfSSL Inc.
44
*
55
* This file is part of wolfSSH.
66
*

apps/wolfsshd/configuration.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* configuration.h
22
*
3-
* Copyright (C) 2014-2023 wolfSSL Inc.
3+
* Copyright (C) 2014-2024 wolfSSL Inc.
44
*
55
* This file is part of wolfSSH.
66
*

apps/wolfsshd/wolfsshd.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* wolfsshd.c
22
*
3-
* Copyright (C) 2014-2023 wolfSSL Inc.
3+
* Copyright (C) 2014-2024 wolfSSL Inc.
44
*
55
* This file is part of wolfSSH.
66
*
@@ -1391,8 +1391,9 @@ static int SHELL_Subsystem(WOLFSSHD_CONNECTION* conn, WOLFSSH* ssh,
13911391
#if defined(HAVE_SYS_IOCTL_H)
13921392
wolfSSH_DoModes(ssh->modes, ssh->modesSz, childFd);
13931393
{
1394-
struct winsize s = {0};
1394+
struct winsize s;
13951395

1396+
WMEMSET(&s, 0, sizeof(s));
13961397
s.ws_col = ssh->widthChar;
13971398
s.ws_row = ssh->heightRows;
13981399
s.ws_xpixel = ssh->widthPixels;

configure.ac

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# wolfssh
2-
# Copyright (C) 2014-2023 wolfSSL Inc.
2+
# Copyright (C) 2014-2024 wolfSSL Inc.
33
# All right reserved.
44

5-
AC_COPYRIGHT([Copyright (C) 2014-2023 wolfSSL Inc.])
6-
AC_INIT([wolfssh],[1.4.16],[[email protected]],[wolfssh],[https://www.wolfssl.com])
5+
AC_COPYRIGHT([Copyright (C) 2014-2024 wolfSSL Inc.])
6+
AC_INIT([wolfssh],[1.4.17],[[email protected]],[wolfssh],[https://www.wolfssl.com])
77
AC_PREREQ([2.63])
88
AC_CONFIG_AUX_DIR([build-aux])
99

@@ -18,18 +18,19 @@ AC_ARG_PROGRAM
1818
AC_CONFIG_MACRO_DIR([m4])
1919
AC_CONFIG_HEADERS([config.h])
2020

21-
WOLFSSH_LIBRARY_VERSION=15:3:8
22-
# | | |
23-
# +------+ | +---+
24-
# | | |
21+
WOLFSSH_LIBRARY_VERSION=16:0:9
22+
# | | |
23+
# +-----+ | +----+
24+
# | | |
2525
# current:revision:age
26-
# | | |
27-
# | | +- increment if interfaces have been added
28-
# | | set to zero if interfaces have been removed
29-
# | | or changed
30-
# | +- increment if source code has changed
31-
# | set to zero if current is incremented
32-
# +- increment if interfaces have been added, removed or changed
26+
# | | |
27+
# | | +- increment if interfaces have been added
28+
# | | +- set to zero if interfaces have been
29+
# | | removed or changed
30+
# | +- increment if source code has changed
31+
# | +- set to zero if current is incremented
32+
# +- increment if interfaces have been added, removed
33+
# or changed
3334
AC_SUBST([WOLFSSH_LIBRARY_VERSION])
3435

3536
LT_PREREQ([2.2])

0 commit comments

Comments
 (0)