Praneeth Sarode
eda5c6576b
tests(torture_sk): validate sk_flags against allowed security key flags
...
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Eshan Kelkar <eshankelkar@galorithm.com >
2025-11-09 05:04:38 +05:30
Praneeth Sarode
302d868875
fido2: add sk_api.h
...
The sk_api.h file added is a copy of the sk-api.h file in openSSH, including only the struct and constant definitions.
This has been done to ensure compatibility with any security key middleware developed for openSSH.
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Eshan Kelkar <eshankelkar@galorithm.com >
2025-11-09 05:04:38 +05:30
Praneeth Sarode
7db75e8fd0
ci: enable FIDO2/U2F support in some images
...
Build with WITH_FIDO2=ON in the default fedora, tumbleweed, centos, ubuntu, and visualstudio images.
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Eshan Kelkar <eshankelkar@galorithm.com >
2025-11-09 05:04:38 +05:30
Praneeth Sarode
ebe632cf8f
cmake: add build option to enable FIDO2/U2F support
...
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Eshan Kelkar <eshankelkar@galorithm.com >
2025-11-09 05:04:38 +05:30
Praneeth Sarode
150d606db7
cmake: add cmake module to find libfido2
...
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Eshan Kelkar <eshankelkar@galorithm.com >
2025-11-09 05:04:37 +05:30
Jakub Jelen
63fbf00efe
pki: Use constant for minimal RSA key size in FIPS
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-06 16:25:25 +01:00
Jakub Jelen
ae33ced0dc
coverage: Ignore parse errors again
...
Without this, the gcov is crashing with some suspicious coverage reports on
functions like `uint32_divmod_uint14()` from internal sntrup implementation.
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-06 16:25:25 +01:00
Jakub Jelen
ee6e2c69e1
Bump minimal RSA key size to 1024
...
Fixes : #326
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-06 16:25:25 +01:00
Jakub Jelen
cefc4f8c97
pkd: Run tests with ecdsa and ed25519 keys with dropbear
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-06 16:25:25 +01:00
Jakub Jelen
b64e7f67d3
pkd: Run ed25519 tests with dropbear
...
Resolves : #336
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-06 16:25:25 +01:00
Jakub Jelen
491cd81a32
kex: Place PQC KEX methods first
...
The ML-KEMx25519 is now preferred algorithm in OpenSSH so follow the suit
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-06 16:24:47 +01:00
Jakub Jelen
3444f4c449
Remove references to (unused) pre-release ssh messages SSH2_MSG_ECMQV_*
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-06 16:24:47 +01:00
Pavol Žáčik
80541ab828
mlkem768: Fix missing jumps in error handling
...
Signed-off-by: Pavol Žáčik <pzacik@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-11-06 12:10:03 +01:00
Jakub Jelen
b042477f83
Suppress remaining OpenSSL 3.5 memory leaks
...
Reported as
https://github.com/openssl/openssl/issues/29077
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-05 17:52:24 +01:00
Jakub Jelen
950abbbd81
tests: Remove the -E which is overridden by followed -E on ctest CLI
...
The threads_pki_rsa was running and working under valgrind for some
time already without anyone noticing this syntax does not work.
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-05 17:52:24 +01:00
Jakub Jelen
b9c6701c68
tests: Avoid needless pthread_exit()
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-05 17:52:24 +01:00
Jakub Jelen
a94df4bb8f
tests: Adjust valgrind supressions for Fedora 43
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-05 17:52:24 +01:00
Pavol Žáčik
41b8b3326c
client: Reset session packet state on disconnect
...
When reusing session structures for multiple
connections, the packet state could be SIZE_READ
before disconnect, causing initial packets of the
next connection to be misinterpreted.
Signed-off-by: Pavol Žáčik <pzacik@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-11-05 17:44:33 +01:00
Sahana Prasad
a9c8f942a5
kex: Implement mlkem768x25519-sha256
...
The implementation largely follows that of sntrup761x25519-sha512.
Most of the work was done by Sahana with the help of Claude,
Pavol provided fixes to match specs and did a final clean up.
Co-Authored-By: Sahana Prasad <sahana@redhat.com >
Co-Authored-By: Pavol Žáčik <pzacik@redhat.com >
Co-Authored-By: Claude <noreply@anthropic.com >
Signed-off-by: Pavol Žáčik <pzacik@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-11-05 17:44:33 +01:00
Jakub Jelen
d307bfa239
pki_crypto: Avoid potential memory leak if malloc fails
...
Thanks oss-fuzz and nalloc.
https://issues.oss-fuzz.com/issues/449101878
Thanks Andreas for review and nugging into rewriting it to something readable.
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-11-04 16:08:58 +01:00
Mike Frysinger
66e8491f73
ttyopts: make non-POSIX defines optional
...
This file uses a bunch of defines that, while common, are not in POSIX.
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/termios.h.html
Add more ifdef checks around them to fix building on platforms that omit
them.
Signed-off-by: Mike Frysinger <vapier@chromium.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-11-04 14:46:58 +01:00
Mike Frysinger
e93c1f6a61
libcrypto: update EVP API usage
...
The EVP_CIPHER_CTX_init API is deprecated and doesn't exist in some
OpenSSL versions. Switch to EVP_CIPHER_CTX_reset which works with
1.1.x which is the min version libssh requires.
Signed-off-by: Mike Frysinger <vapier@chromium.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-11-04 14:45:39 +01:00
Jakub Jelen
358553e976
scp: Workaround for Cisco devices not handling single quotes
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-10 16:20:54 +02:00
Jakub Jelen
07d099f652
examples: Support passing port to libssh_scp to simplify testing
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-10 16:20:53 +02:00
Praneeth Sarode
f3d70e54e9
tests(string): add tests for ssh_string_from_data function
...
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-10-10 14:00:22 +02:00
Praneeth Sarode
74d1bf51b5
feat(string): add ssh_string_from_data function to create ssh_string from data buffer
...
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-10-10 14:00:22 +02:00
Jakub Jelen
00f1d6fac2
Add RequiredRsaSize configuration option
...
to both client and server configuration file
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-01 16:06:43 +02:00
Jakub Jelen
029754efb3
examples: Reformat
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-01 16:04:59 +02:00
Jakub Jelen
a49e0c2a84
examples: Replace magic numbers with FD constants
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-01 16:04:58 +02:00
Jakub Jelen
8966e577ab
connector: Improve logging
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-01 16:04:57 +02:00
Jakub Jelen
dc45b8f3f1
channels: Improve logging information about channels
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-01 16:04:56 +02:00
Jakub Jelen
c932790b82
connector: Fix default connector flags
...
Originally reported by Jeremy Cross <jcross@beyondtrust.com > in #461
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-01 16:04:55 +02:00
Jakub Jelen
8a0aa17bca
connector: Reformat
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-01 16:04:55 +02:00
Jakub Jelen
ecb11f1a18
tests: Fix wording in comment to make sense
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-01 16:04:54 +02:00
Jakub Jelen
6aea779918
sftpserver: Fix loop termination
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-01 16:03:46 +02:00
Jakub Jelen
a51384fe4e
sftpserver: Remove some needless parts
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-01 16:03:45 +02:00
Jakub Jelen
c55140272f
examples: Add more flexibility to set verbosity
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-10-01 16:03:44 +02:00
Jakub Jelen
607dad040b
mbedtls: Warn about missing featues of mbedTLS build
...
The libssh requires mbedTLS to have support for threading. Given the
way how the mbedTLS builds are configured (at least to my limited
understanding), by modifying mbedtls_config.h header file, this
changes the silent failure to a message on stderr pointing the
user in the right direction.
Fixes : #304
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-09-30 13:16:34 +02:00
Praneeth Sarode
55bb909252
refactor(pki): separate the sk signature buffer packing to a separate function
...
The logic for creating the buffer to be verified from an sk signature from ssh_pki_signature_verify has been separated into a new function named pki_prepare_sk_signature_buffer to allow for convenient reuse of this logic.
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-09-30 12:42:56 +02:00
Praneeth Sarode
08cbbea461
pki: update RSA key generation to use default size when parameter is 0
...
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-09-25 15:04:57 +02:00
Praneeth Sarode
8c4e337ab7
pki: define RSA_DEFAULT_KEY_SIZE
...
Define a new constant for the default RSA key size for consistency.
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-09-25 15:04:56 +02:00
Praneeth Sarode
8541b6584f
test(buffer): add unit tests for ssh_buffer_dup function
...
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-09-25 15:04:18 +02:00
Praneeth Sarode
2f77727796
feat(buffer): add ssh_buffer_dup function to duplicate existing buffers
...
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-09-25 15:04:17 +02:00
Jakub Jelen
a3c5d3b256
tests: Rewrite all fuzzers to LLVMFuzzerInitialize and nalloc
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-09-25 15:03:07 +02:00
Philippe Antoine
59a502ede6
fuzz: test allocations failures
...
Signed-off-by: Philippe Antoine <p.antoine@catenacyber.fr >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-09-25 15:03:04 +02:00
Francesco Rollo
c94e2efcf1
fix(bind): Remove code duplication in ssh_bind_listen
...
Signed-off-by: Francesco Rollo <eferollo@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-09-18 13:57:12 +02:00
Jakub Jelen
3d3b12891f
tests: Avoid prefix matching when selecting algorithmms
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Sahana Prasad <sahana@redhat.com >
2025-09-10 13:05:50 +02:00
Jakub Jelen
6ca59307d4
Add non-namespaced alias sntrup761x25519-sha512 that is being standardized
...
The specification is now in the last call, data point is allocated so there is
no need to stick to the namespaces alias anymore
https://datatracker.ietf.org/doc/draft-ietf-sshm-ntruprime-ssh/
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Sahana Prasad <sahana@redhat.com >
2025-09-10 12:23:08 +02:00
Praneeth Sarode
e8bbd194c7
refactor(pki): Define RSA_MIN_KEY_SIZE and update related checks
...
Signed-off-by: Praneeth Sarode <praneethsarode@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2025-09-09 12:53:43 +02:00
Jakub Jelen
df4e907dff
poll: Use is_locked helper where possible
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2025-08-14 10:33:58 +02:00