[ssh_x509] PKIX-SSH release 17.2.2
ssh_x509 at roumenpetrov.info
ssh_x509 at roumenpetrov.info
Sun Dec 28 11:20:42 EET 2025
Hello,
A new PKIX-SSH release is available for download. This is a security release, although it contains rewritten use of key-type implementations in about 100 steps(commits).
What's new:
(x) Security:
(*) user name validation
Add control character check for remote user validation. Impacts usernames passed on the command line.
(*) disable EtM algorithms
EtM(Encrypt then MAC) algorithms are subject to "prefix truncation". The so called "strict key exchange" negotiation functionality does not mitigate attack. The existing implementation is reserved for future. New configuration option "--enable-etm" allows to add support at build them. Use preprocessor WITHOUT_ETM_FUNCTIONALITY definition to exclude these algorithms from defaults.
(*) properly compare email address in distinguished name
(x) Features:
(*) export XDG_RUNTIME_DIR to secure shell sessions
(*) use argument string tokeniser to process match directive
It allows to use shell-like quoting in client or daemon match directives. Note new processing in not compatible with previous one.
(*) print information about the current secsh connection
Use either escape option ~I or multiplexing command "conninfo". Command "chaninfo" prints currently open forwarded connections.
(*) add a GssDelegateCreds to daemon options
This option is with the similar functionality as client option.
(x) Bugs:
(*) increase maximum number of key exchange items
Refuse connection is remote offers too many proposals.
(*) check PAM user against saved one
Avoids fatal when user does not exist.
(*) properly count groups when processing the sftp extension "users-groups-by-id"
(*) get rid of sftp server limit from client
(*) detect missing subsystem command
Also avoid daemon crash if subsystem directive is defined
in match block only.
(x) Misc:
(*) generalize "key-type implementation"
Rewrite key implementations to avoid remaining uses of key identifiers in switch statements. This allows for easy addition of new key types and management of public key algorithms availability at run time depending on capability of the cryptographic library.
Sample is ML-DSA demo branch with complete key-type support including X.509 certificates and with some SLH-DSA key-types.
(*) remove DSA from README and configuration files
Note DSA public key algorithms are still supported if enabled at build time.
(*) use prefix for all keys generated by regression test
Allows easy to clean and exclude from repository new key types.
(*) use of pre OpenSSL 3 API in unit tests
Update key unit tests to use OpenSSL 3 API PKEY based compatible accessors.
(*) activate UnusedConnectionTimeout only after closing the last channel
(*) escape authentication agent "socket path"
(*) correct a number of memory leaks
For instance when replacing "hostfile", in auth options unit test, and etc..
(*) special handling of path that ends with ..
Update secure file transfer to upload/download such path to destination.
(*) describe "X509 store" option CAStore
Experimental X.509 look-up "By Store" was implemented in PKIX-SSH 13.2. Now it is available officially. For instance it is used in LDAP X.509 look-up. This functionality still relies on engine module and "By Store" LDAP look-up is excluded from tests if engines are not allowed.
Regards,
Roumen Petrov
More information about the ssh_x509
mailing list