Rosen Penev
d35fdfbdb4
libcrypto-compat: add extra functions
...
Added extra functions. The next commit will switch to them.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
(cherry picked from commit 70478619ce )
2020-05-05 14:32:15 +02:00
StefanBruens
69e97057c7
Correctly parse v4 subsecond timestamps
...
All subsecond timestamps are only in the packets if both the
SUBSECOND_TIMES flag and the timestamp flag, e.g. ATTR_ACCESSTIME
are set.
SUBSECOND_TIMES are not very common across server implementations
(e.g. openssh does not include it, nor does libssh's sftpserver
implementation), but this interpretation of the SFTP protocol draft
is used by WinSCP and lftp.
Fixes T219.
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 1ff6dda616 )
2020-05-05 14:32:04 +02:00
Anderson Toshiyuki Sasaki
3025eeace3
client: Check if the library is initialized in ssh_connect()
...
If the library is not initialized, SSH_ERROR is returned and the error
message is set properly.
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit e3e3a27863 )
2020-05-05 14:31:59 +02:00
Anderson Toshiyuki Sasaki
ffb0007768
client: Reformat ssh_connect()
...
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 0f33eecc01 )
2020-05-05 14:31:58 +02:00
Anderson Toshiyuki Sasaki
a99b8a3979
init: Introduce internal is_ssh_initialized()
...
The introduced function returns whether the library is initialized or
not.
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit dba2114ed7 )
2020-05-05 14:31:53 +02:00
Anderson Toshiyuki Sasaki
0a450f0251
init: Clarify the need to call ssh_{init, finalize}()
...
When libssh is statically linked, it is necessary to explicitly call
ssh_init() before calling any other provided API. It is also necessary
to call ssh_finalize() before exiting to free allocated resources.
Fixes T222
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit e3e52394c1 )
2020-05-05 14:31:49 +02:00
Andreas Schneider
9e9df61244
Bump version to 0.9.4
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
2020-04-09 09:30:20 +02:00
Andreas Schneider
958afb1c6a
CVE-2020-1730: Fix a possible segfault when zeroing AES-CTR key
...
Fixes T213
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
(cherry picked from commit b36272eac1 )
2020-04-09 09:30:00 +02:00
Anderson Toshiyuki Sasaki
e510de0315
kex: Add support for diffie-hellman-group14-sha256
...
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 9eb1ce88ae )
2020-04-06 11:36:35 +02:00
Andreas Schneider
34c596182d
dh-gex: Check return value of ssh_get_random()
...
CID #1422162
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit d2f0d3270a )
2020-04-06 11:36:33 +02:00
Andreas Schneider
1a18d9cce2
cmake: Fix building with threading support on MinGW
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
(cherry picked from commit a9a7c2dc29 )
2020-04-06 11:36:30 +02:00
Anderson Toshiyuki Sasaki
4c83d19c48
auth: Fix memory leak in ssh_userauth_publickey_auto()
...
When a key is rejected, free the allocated memory before returning.
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 6bd2b93f43 )
2020-03-29 09:59:52 +02:00
Jon Simons
0dd71375e7
pki: fix pki_key_ecdsa_to_key_type thread-safety
...
Resolves https://bugs.libssh.org/T214 .
Signed-off-by: Jon Simons <jon@jonsimons.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 3664ba2800 )
2020-02-11 10:16:00 +01:00
Andreas Schneider
9a10cef920
channels: Fix ssh_channel_poll_timeout() not returing available bytes
...
Fixes T211
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
(cherry picked from commit 022409e99c )
2020-01-23 11:03:44 +01:00
Jakub Jelen
6fcd0940e3
packet_crypt: Check return values from AEAD deciphering
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit e31e7b0406 )
2020-01-23 10:31:44 +01:00
Jakub Jelen
0c8dbf5c81
curve25519: Avoid memory leaks
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 6644f8ca3b )
2020-01-23 10:31:38 +01:00
Andreas Schneider
402c922a9e
pki_crypto: Fix possible memory leak on error
...
CID #1409680
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 72498bac5f )
2020-01-23 09:50:41 +01:00
Andreas Schneider
112e32ba86
messages: Add missing NULL check
...
CID #1409678
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 4b4f568a68 )
2020-01-23 09:50:35 +01:00
Jakub Jelen
6dcfa25c9b
socket: Fix the error message
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 3a6751f3d2 )
2020-01-23 09:50:04 +01:00
Jakub Jelen
eed8d8e957
socket: Kill the proxy command if it still runs on disconnect
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit dd64980662 )
2020-01-23 09:50:01 +01:00
Jakub Jelen
1935e15cd4
pki_gcrypt: Warn about unsupported PEM export in gcrypt
...
Based on the following mail thread:
https://www.libssh.org/archive/libssh/2019-12/0000027.html
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 24f450fed1 )
2020-01-23 09:49:52 +01:00
Jakub Jelen
ee7ee2404a
libgcrypt: Do not leak memory with invalid key lengths
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 7e692ee1b6 )
2020-01-23 09:49:35 +01:00
Jakub Jelen
6205cad534
pki_gcrypt: Do not confuse static analyzers
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit dd54ffb2f1 )
2020-01-23 09:49:30 +01:00
Jakub Jelen
d5a37e2bf5
legacy,keys: Fix the macro conditions
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 3642224ee5 )
2020-01-23 09:49:26 +01:00
Jakub Jelen
226d2a16b0
mbedcrypto_missing: Always check return values
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 9b858f57c5 )
2020-01-23 09:49:22 +01:00
Jakub Jelen
46105f4aa6
mbedcrypto_missing: Avoid potential memory leaks as reported by csbuild
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 13c88a2e0a )
2020-01-23 09:49:19 +01:00
Jakub Jelen
62f7004d5a
pki_mbedtls: Avoid potential memory leaks
...
reported by csbuild
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 059b6851dc )
2020-01-23 09:49:16 +01:00
Jakub Jelen
d7358ee5a7
pki_mbedtls: Do not warn about unused arguments
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 71ba61cc5b )
2020-01-23 09:49:12 +01:00
Jakub Jelen
ec8cedd803
options: Avoid needless assignment as reported by csbuild
...
The error was
src/options.c:971:13: warning: Value stored to 'u' is never read
# u = 0;
# ^ ~
src/options.c:971:13: note: Value stored to 'u' is never read
# u = 0;
# ^ ~
# 969| case SSH_OPTIONS_KBDINT_AUTH:
# 970| case SSH_OPTIONS_GSSAPI_AUTH:
# 971|-> u = 0;
# 972| if (value == NULL) {
# 973| ssh_set_error_invalid(session);
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 30cc1568f4 )
2020-01-23 09:49:07 +01:00
Jakub Jelen
393cd36c01
kex: Avoid always-false comparisons as reported by csbuild
...
/builds/jjelen/libssh-mirror/src/kex.c:360:17: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] <--[cc]
360 | if (len < 0) {
| ^
/builds/jjelen/libssh-mirror/src/kex.c:372:17: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] <--[cc]
372 | if (len < 0) {
| ^
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit e2841908fb )
2020-01-23 09:48:32 +01:00
Jon Simons
251f60c031
curve25519: fix uninitialized arg to EVP_PKEY_derive
...
Ensure that the `keylen` argument as provided to `EVP_PKEY_derive`
is initialized, otherwise depending on stack contents, the function
call may fail.
Fixes T205.
Signed-off-by: Jon Simons <jon@jonsimons.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit b94ecf18bd )
2019-12-16 12:59:58 +01:00
Jakub Jelen
ac2f4853bb
init: Fix documentation about return values of void functions
...
Fixes T203
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit b03818aaed )
2019-12-11 11:38:54 +01:00
Andreas Schneider
64ce53fdba
Bump version to 0.9.3
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2019-12-09 19:26:16 +01:00
Jakub Jelen
101ffd70a7
config: Ignore empty lines to avoid OOB array access
...
Fixes T187
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 574690ae2e )
2019-12-09 16:39:24 +01:00
Jakub Jelen
21adb54dc6
match: Limit possible recursion when parsing wildcards to a sensible number
...
Fixes T186
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 31f9c39479 )
2019-12-09 16:38:37 +01:00
Jakub Jelen
13fa009a2e
match: Avoid recursion with many asterisks in pattern
...
Partially fixes T186
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit cf0beff987 )
2019-12-09 16:38:37 +01:00
Andreas Schneider
8600015b3e
pki: Fix possible information leak via uninitialized stack buffer
...
Fixes T190
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 178b53f924 )
2019-12-09 16:38:37 +01:00
Andreas Schneider
8f20ece14f
pki_container_openssh: Initialize pointers to NULL
...
Fixes T190
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit e065d2bb3f )
2019-12-09 16:38:37 +01:00
Andreas Schneider
d15fa16213
SSH-01-012: Fix information leak via uninitialized stack buffer
...
Fixes T190
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 9d67ca251c )
2019-12-09 16:38:37 +01:00
Andreas Schneider
a91e5f7585
SSH-01-010: Improve documentation for fingerprinting functions
...
Fixes T184
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit cb0ccf372e )
2019-12-09 16:38:37 +01:00
Anderson Toshiyuki Sasaki
d117de188f
scp: Do not allow newlines in pushed files names
...
When pushing files or directories, encode the newlines contained in the
names as the string "\\n". This way the user cannot inject protocol
messages through the file name.
Fixes T189
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit bab7ba0146 )
2019-12-09 16:38:37 +01:00
Anderson Toshiyuki Sasaki
ae68f13a78
misc: Add a function to encode newlines
...
Given a string, the added function encodes existing newline characters
('\n') as the string "\\n" and puts into a given output buffer.
The output buffer must have at least 2 times the length of the input
string plus 1 for the terminating '\0'. In the worst case, each
character can be replaced by 2 characters.
Fixes T189
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit c9ce8fa40b )
2019-12-09 16:38:37 +01:00
Andreas Schneider
ad49f0a556
gzip: Use SSH_BUFFER_FREE()
...
Fixes T183
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 6c79ed9801 )
2019-12-09 16:38:37 +01:00
Andreas Schneider
975eb87c19
knownhosts: Use SSH_BUFFER_FREE()
...
Fixes T183
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 7ae47df16a )
2019-12-09 16:38:37 +01:00
Andreas Schneider
a888b65ff5
pcap: Use SSH_BUFFER_FREE()
...
Fixes T183
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 6734516278 )
2019-12-09 16:38:37 +01:00
Andreas Schneider
375724bafe
base64: Use SSH_BUFFER_FREE()
...
Fixes T183
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 3cf665a53d )
2019-12-09 16:38:37 +01:00
Andreas Schneider
b7b9c6d5b9
packet: Use SSH_BUFFER_FREE()
...
Fixes T183
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 35799bb1c6 )
2019-12-09 16:38:37 +01:00
Andreas Schneider
1c7efb7b46
socket: Use SSH_BUFFER_FREE()
...
Fixes T183
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 476bde4d69 )
2019-12-09 16:38:37 +01:00
Andreas Schneider
9817d13de0
dh-gex: Use SSH_STRING_FREE()
...
Fixes T183
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 80d092037f )
2019-12-09 16:38:37 +01:00
Andreas Schneider
41cd5f4012
message: Use SSH_BUFFER_FREE()
...
Fixes T183
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 45d9802e1b )
2019-12-09 16:38:37 +01:00