[ssh_x509] PKIX-SSH release 18.0.2, ready for use with FIPS 3.0 module

ssh_x509 at roumenpetrov.info ssh_x509 at roumenpetrov.info
Sun Apr 5 18:12:11 EEST 2026


Hello,

A new PKIX-SSH release is available for download. The main updates are listed below.


(x) Security:

(*) confirmation in proxy mode
Add missing confirmation when a client connects to a running multiplexing master in proxy mode that requires it.


(x) Features:

(*) Support FIPS 3.0 module
Now PKIX-SSH supports FIPS provider also in FIPS mode. Algorithm and digest availability depends on provider and FIPS.
Note that OpenSSL FIPS provider restricts operations even in non-FIPS mode.
For instance minimum key size is 2048, key operation with SHA1 signatures are not allowed, and etcetera.
Also test cases are adapted to pass when FIPS provider is activated and when is run in FIPS mode.

(*) SHA-256 support is required
Minimum supported version is OpenSSL 0.9.8.

(*) Enable ML-KEM key exchange by default
Also disable Diffie-Hellman(DH) key exchange by default.

(*) match Version
Support "Version" as criteria-pattern for conditional blocks in client or daemon configuration.


(x) Bugs:

(*) correct handling multi-byte characters on sftp prompt tab completion
Ensure that completion does not end in the middle of a multi-byte character sequence. Note sftp tab completion requires build with libedit.

(*) proper error handling when the utility fails to add additional key data to the agent

(*) properly construct failed login records
PKIX-SSH 15.3 regression

(*) require all custom certificates to include non-empty principals sections

(*) allow riscv_hwprobe in secure secure computing mode

(*) use long long for bandwidth calculations
Note fixes rate display when rate > 2GB/s.

(*) single argument for MaxStartups
Correctly parse the single-valued form of the MaxStartups daemon configuration option

(*) correct regression from "check PAM user against saved one"
Restoring a return statement that was accidentally deleted in release 17.2.2.

(*) always respond to monitor "moduli" request
Avoids potential hang if "moduli" file does not contain the requested Diffie-Hellman group values.
Note Diffie-Hellman functionality is disabled by default.


(x) Misc:

(*) prefer OpenSSL 3* API
Rewrite RSA and EC key generation and private key serialisation to use OpenSSL 3* API.
The public key serialisation is part of 16.2 (25 Jun 2025) which supports provider managed identities.
Note that DSA algorithms are disabled by default since 15.0 (12 Mar 2024) and code will not be updated to OpenSSL 3* API.
Also program code continue to use pre 3* API for non-provider keys.
For instance this ensures use of identities obtained from engine.

(*) update client to list information for active providers, in addition to version information

(*) fill in sntrup761 entropy at once
Improve performance.

(*) set key bindings when sftp command line editor is in vi mode

(*) improved documentation

(*) revise use of some system headers

(*) implement agent extension mechanism with support for "query" extension

(*) ensure that channel "local window" does not underflow when output is closing

(*) allow getsockname(2), getpeername(2) and getsockopt(2) in secure secure computing mode

(*) file or directory bits in transfers
Keep directory permissions in remote to remote secure copy or file transfer Update secure copy to clear setuid/setgid bits from downloaded as root files unless is specified preserve mode

(*) аvoid duplicate PAM messages



Regards,
Roumen Petrov


P.S.

Version 18.0.1 corrects issue with declaration of ERR_load_FIPS_strings and vendor specific OpenSSL 1.1.* releases.

Version 18.0.2 skips RSA private key fuzz testing.
Note vendor OpenSSL should be 1.0.2 as minimum to pass the test without crash.
Remark: The test pass with all mainstream OpenSSL releases (>= 0.9.8).



More information about the ssh_x509 mailing list