master
libssh-0.12.0
options: Add bundled getopt implementation from FreeBSD
mbedtls: Warn about missing featues of mbedTLS build
mbedtls: Initial migration to PSA-Crypto API (v4)
Use SSH_LOG_STRERROR where applicable
Usage of ssh_iterator_value() helper macro instead of raw it->data access
CVE-2025-4877 base64: Prevent integer overflow and potential OOB
bignum: Make sure the padding is large enough for the number
docs: add doxygen documentation and fix inconsistencies
doc: add missing Doxygen comments and fix documentation style
fix(callbacks): make is_callback_valid's behaviour consistent with its name
CVE-2025-4878 Initialize pointers where possible
misc: cap finite timeout conversion at INT_MAX
client: add ExitOnForwardFailure config option parsing and storage
CVE-2026-59846 Block shell metacharacters from usernames
connect: Avoid calling close with negative argument
fix typos
crypto: Use stdint types and make code more readable of secure_memcmp()
curve25519: Make ssh_curve25519_build_k public
CVE-2025-8277: Fix memory leak of unused ephemeral key pair after client's wrong KEX guess
refactor(curve25519): split the single file curve25519.c into multiple files for better readability
dh-gex: Add missing goto error
reformat: gssapi key exchange
feat: add gssapi key exchange
dh: Validate peer public key
CVE-2023-48795: client side mitigation
Native ML-KEM768 implementation
fix: replace str(n)(cat|cpy) with strl(cat|cpy)
getrandom_crypto.c: Add function to the documentation
Build external override library with all symbols
gssapi: fail if the selected OID is not in client-supplied OIDs
zlib: Move conditional compilation inside of the gzip.c
hybrid_mlkem: Fix incomplete error handling of short ML-KEM keys
Add missing includes for fprintf()
CVE-2023-6918: kdf: Detect context init failures
CVE-2026-59851 gssapi-keyex: add a missing server callback dispatch
Fix semantics of strchr() for C23
knownhosts: restrict StrictHostKeyChecking off on key mismatches
knownhosts: Return SSH_KNOWN_HOSTS_UNKNOWN with GSS KEX and no host key
Move old DSA and RSA structs into EVP_PKEY
CVE-2026-59847 libcrypto: Fix symmetric issue during encryption
Replace explicit_bzero with ssh_burn
gssapi: export ssh_userauth_gssapi_keyex
kex: Allow MLKEM key exchanges in FIPS mode
md: Implement one-shot md5
Fix bind_address leak on global request callback path
mlkem_crypto: Fix fallback to default provider in FIPS
Add missing check in ML-KEM implementation of gcrypt
Add missing newline on eof
Use calloc instead of zeroizing structure after malloc
pki_context: Document 0 is valid for bit size (default)
ed25519: Avoid timing leak when comparing private keys
fix: test failure in pkd against dropbear with libgcrypt
Use SSH_CHANNEL_FREE where possible
Add a new API function ssh_session_kex_is_gss
Defer allocation of session option lists to first use to avoid unnecessary allocations in ssh_new()
CVE-2026-59848 sftp: Initialize sftp_request_queue ptr in sftp_free
CVE-2026-59848 sftp: handle responses with unknown request IDs
CVE-2026-15370 sftpserver: Avoid use of strlcpy altogether
fido2: implement the default sk_callbacks for FIDO2/U2F keys using the usb-hid protocol
sntrup: Remove needless conversion of shared secret to bignum
options: do not let config override explicitly-set options
string: Made ssh_string_new() to zero-init payload on creation
ttyopts: make non-POSIX defines optional
pki: add ssh_key_type_and_hash_from_signature_name()