[ssh_x509] PKIX-SSH release 19.0

ssh_x509 at roumenpetrov.info ssh_x509 at roumenpetrov.info
Wed Jul 8 23:13:15 EEST 2026


Hello,

A new PKIX-SSH "feature" release was uploaded for download yesterday.


(x) Security:

(*) fix off-by-one when sftp split a string into arguments

(*) fix off-by-one read when sftp "strips" path

(*) defend against user enumeration timing attacks
Add in keyboard-interactive and gssapi-with-mic authentication methods as well.

(*) X11 channel
Avoid crash if an X11 channel was created before the channel request was sent.


(x) Features:

(*) support ML-DSA identities
Support ML-DSA keys and certificates. This feature requires OpenSSL 3.5 or later.

(*) support OpenSSL 4.0
Harden detection of "ENGINE" functions. Add a layer of ASN1 compatibility - opaque structure, constant arguments, etc.

(*) do not check self-issued certificates for revocation

(*) secure random number generator
To generate a sequence of random bytes, use only the random number generator provided by the cryptography library. Note on some OS-es arc4random stuff are not secure.


(x) Bugs:

(*) proper implementation of RFC-4256, by displaying instructions to users when requested by PAM

(*) do not restrict arguments to the internal-sftp server
Previously, the ones after the ninth were quietly removed.

(*) dynamic allocation of path when sftp process a directory
Avoids path name truncation on system where PATH_MAX is not the actual maximum.

(*) do not search for cipher or mac if the name is an empty string
Improved cipher/mac list validation.

(*) sftp processing
Prevent a situation in which the sftp download might enter an infinite loop if a malfunctioning server repeatedly returns a length of zero when reading a file.
Fixed the sftp command "ls -n" to show numeric uid/gid instead of user/group name.
"Close of exec" pipes between secure file transfer utility and secure shell client.
Properly implement "get" command in sftp interactive loop.

(*) properly set extended type for client-side "session" channels

(*) disable tunnel device forwarding if the daemon configuration disables forwarding globally

(*) use POSIX rules to check return value of mktime or timegm when is parsed absolute time

(*) checks the maximum file size when loading keys from files
Correctly check the size of private keys and add a new check for public keys.


(x) Misc:

(*) stricter validation when state is transferred

(*) precise failure when subsystem request fail
Print different text when execution fail or subsystem not found.

(*) add duration the the information for the current secure shell connection

(*) better preserve accuracy for large exponents

(*) log client exit code
This should be the last message in the log from the client program.

(*) immediate exit when client cannot prepare multiplexed connection

(*) revise PAM authentication logging messages

(*) support logging to file in helper for host-based authentication

(*) explicit initialization and cleanup of the cryptographic library in the agent and in the pkcs helper#11
Also initialize default X.509 algorithms.

(*) various improvement to the regression tests

(*) various improvement to the manual pages

(*) check some allocations to avoid NULL pointer dereference

(*) delay connection to agent
Open connection to agent after argument processing.

(*) precise validation of EC public keys
This modification is required if cofactor != 1. As all supported EC curves have a cofactor of 1, so this is not an option.


Regards,
Roumen Petrov



More information about the ssh_x509 mailing list