Skip to content

Releases: testssl/testssl.sh

Snapshot Version 2602 from 3.3dev

13 Feb 13:08
v3.3dev-snapshot-2602
cdc892e

Choose a tag to compare

Pre-release

This is the first snapshot release for 3.3dev. It is for users which want to use the latest and greatest set of features but also want to have a version which matured enough.

In order not to confuse users with the stable branch 3.2 where no new features will appear, this is labeled (from github) as pre-release. But it is believed to be production ready. However things will continue to change in 3.3dev until the next stable release 3.4.0 .

Features as TL;DR

  • QUIC protocol check
  • TLS 1.3 early data (0-RTT)
  • Adds a check for mandatory extended master secret TLS extension
  • Bump SSLlabs rating guide to 2009r
  • Check for Opossum vulnerability
  • Enable IPv6 automagically, i.e. if target via IPv6 is reachable just (also) scan it
  • MacOS runs faster
  • Provide an FAQ

What's Changed

Read more

Version 3.2.3 (bugfix)

12 Feb 12:40
v3.2.3
d2d9d2a

Choose a tag to compare

TL;DR

  • label missing KEMs as low severity to indicate that people should start using it
  • changing in CA stores
  • changes in unit tests
  • clientHello contains <= 118 ciphers as more could cause problem for picky servers
  • fixed ROBOT check for STARTTLS which sometimes caused inconsistent test results
  • fixed confused "ADDTL_CA_FILES" enviroment variable
  • fixed word pattern matching in /etc/hosts where anystring matched alos 192.168.0.11 anystring-tomcat
  • several minor fixes

What's Changed (full)

Full Changelog: v3.2.2...v3.2.3

Version 3.2.2 (bugfix)

18 Sep 18:59
v3.2.2
c4856be

Choose a tag to compare

Some changes in branch 3.2.

There was parsing issue in HTTP Age header which looked on the first glance security relevant. Closer look revealed it's just a type confusion. But it's still recommended to update. Also this release includes a FAQ. More important details below.

What's Changed

  • Add README DeepWiki Link by @HarrisonTCodes
  • Modify grading for incomplete chain. by @secinto
  • Add sectigo CA E46 and R46 for Linux.pem by @drwetter
  • Improve error message for sockets fail and Alpine by @drwetter
  • Make code2network() faster by using bash instead of tr by @drwetter
  • Fix not working --disable-rating switch by @drwetter
  • feat: bump ssllabs rating guide to 2009r by @magnuslarsen
  • For Mac: use homebrew's openssl when necessary+needed by @drwetter
  • Fix displayed message when IPv6 needs to be tested too by @drwetter
  • FAQ for 3.2 by @drwetter in #2881
  • Fix garbled screen when HTTP Age is not a non-negative int (branch 3.2) by @drwetter
  • Fix indentation @ Intermediate cert validity (3.2) by @drwetter
  • Lucky13: improve phrasing for 3.2 by @drwetter
  • Bump version (3.2) by @drwetter in #2890

New Contributors

Full Changelog: v3.2.1...v3.2.2

Version 3.0.10

15 Jun 08:12
v3.0.10
2187595

Choose a tag to compare

This is the last release in the 3.0 branch. Migrate to 3.2 ASAP.

What's Changed

  • Fix IPv6 addresses (3.0) by @drwetter
  • Update Truststores (3.0) by @drwetter
  • Improve banner (3.0) by @drwetter i
  • No ctrl char in header (3.0) by @drwetter
  • Fix F5 cookie in 10.x.x.x. (3.0) by @drwetter
  • Fix json/csv output when STARTTLS problem is passed back (3.0) by @drwetter
  • Fix Invalid JSON due to scanResult infos by @dcooper16
  • Fix checks for whether X25519 and X448 are supported by @dcooper16
  • Fix place for round bracket for header and remove obsolete comment by @drwetter
  • Fix bug when legacy NPN is tested against a TLS 1.3 host by @drwetter
  • Address CA file parsing problem by @drwetter
  • Fix Bash substring pattern matches by @dcooper16
  • Fix check for OpenSSL supported curves by @dcooper16
  • Fix segfault with error 4 in check_revocation_ocsp() when using --phone-out (3.0)
  • Fix --phone-out + ocsp, also in docker container (3.0) by @drwetter
  • OpenSSL version check in check_revocation_ocsp() by @dcooper16
  • Set POODLE var when exiting run_ssl_poodle() by @drwetter
  • Sanitze HTTP header early and better by @drwetter
  • Remove inherited double line by @drwetter
  • Check for -sigalgs support by @dcooper16
  • Add minimal doc for GHCR by @drwetter
  • Update CA stores (3.0) by @drwetter
  • Fix CCS injection by @drwetter
  • Fix parser for server header (3.0) by @drwetter
  • Update client simulation 3.0 by @drwetter

Full Changelog: v3.0.9...v3.0.10

Version 3.2.1 (bugfix)

13 Jun 08:37
v3.2.1
b6a951d

Choose a tag to compare

What's Changed

  • Several # of improvements for/refactoring Dockerfiles (@polarathene )
  • Add Android15 handshake simulation by @drwetter
  • Fix missing line feed in run_breach() failure output by @vinny-pereira
  • Add mac runner for Github action by @drwetter
  • Fix CCS injection regression by @drwetter
  • Fix parser for server header by @drwetter
  • Fix missing issuer CN by @drwetter
  • Fix OPENSSL_CONF problem for OPENSSL2 by @drwetter
  • More badges

New Contributors

Full Changelog: v3.2.0...v3.2.1

Final version 3.2.0

23 Apr 09:49
v3.2.0
06ba579

Choose a tag to compare

This is the final version 3.2.0 of testssl.sh which brings tons of new features over 3.0. For details see the change log.

There will be soon one last bugfix release for the 3.0 branch before it'll becomes EOL/unsupported. Work continues then on 3.3dev.

Release version 3.2rc4

24 Jan 15:06
v3.2rc4
5c1232b

Choose a tag to compare

  • Added ML-KEMs SecP256r1MLKEM768 X25519MLKEM768 SecP384r1MLKEM1024 X25519Kyber768Draft00
  • Renegotiation checks more robust
  • More security headers
  • Except docker everywhere is the new location (/drwetter/testssl/) to reflect it's a work of many
  • LibreSSL support until version 4
  • Support RFC 9150 cipher suites (TLS 1.3)
  • Support of stapled OCSP responses which use SHA-256
  • BigIP cookie IP decoder fix

... and much more fixes / improvements

Version 3.0.9

13 Jun 17:02
v3.0.9
4f9bfbc

Choose a tag to compare

  • Fix bash 5 issue when encountering a short server key extension (David)
  • Fix HTML issue when using bash 5 (David)
  • CAA DNS records are now not being queried when nodns is set (Dirk)
  • MongoDB identification fix (Emmanuel)
  • Sanity check when user has broken umask to avoid runtime errors (Dirk)
  • Fix for newer grep versions (Dirk)
  • Address weird globbing in bash 3.0 (Dirk)
  • Dockerfile uses Alpine 3.18, also the one from GHCR (Dirk)
  • Dockerfile can use /usr/bin/openssl1.1 . Improves also performance (Dirk)
  • Fix regexp in STARTTLS detection (Geert)
  • Secure renegotiation fix: SNI (Tazmaniac)
  • Ensure control chars from HTTP header don't end up in html,csv,json (Dirk)
  • Add sha1WithRSA to sha1WithRSAEncryption for certificates (David)
  • Fix potential infinite loop in run_pfs()

You are really encouraged to switch to 3.2 now as 3.0.9 is probably the latest maintenance release in the 3.0. branch. 3.2 has matured, has tons of new features and soon(tm) will be finally released.

Release version 3.2rc3

10 Oct 10:33
v3.2rc3
30e0c84

Choose a tag to compare

While a few minor things are planned for the 3.2 final version here's a release of our RC which includes a log of fixes and at least the following improvements over 3.0.x:

  • Rating (SSL Labs only at the moment)
  • Extend Server (cipher) preference: always now in wide mode instead of running all ciphers in the end (per default)
  • Remove "negotiated cipher / protocol"
  • Provide a better verdict wrt to server order: Now per protocol and ciphers are weighted for each protocol
  • Switched to multi-stage docker image with opensuse base to avoid musl libc issues, performance gain also
  • Improved compatibility with OpenSSL 3.0
  • Improved compatibility with Open/LibreSSL versions not supporting TLS 1.0-1.1 anymore
  • Renamed PFS/perfect forward secrecy --> FS/forward secrecy
  • Cipher list straightening
  • Improved mass testing
  • Better align colors of ciphers with standard cipherlists
  • Save a few cycles for ROBOT
  • Several ciphers more colorized
  • Percent output char problem fixed
  • Several display/output fixes
  • BREACH check: list all compression methods and add brotli
  • Test for old winshock vulnerability
  • Test for STARTTLS injection vulnerabilities (SMTP, POP3, IMAP)
  • STARTTLS: XMPP server support, plus new set of OpenSSL-bad binaries
  • Several code improvements to STARTTLS, also better detection when no STARTTLS is offered
  • STARTTLS on active directory service support
  • Security fixes: DNS and other input from servers
  • Don't penalize missing trust in rating when CA not in Java store
  • Added support for certificates with EdDSA signatures and public keys
  • Extract CA list shows supported certification authorities sent by the server
  • TLS 1.2 and TLS 1.3 sig algs added
  • Check for ffdhe groups
  • Show server supported signature algorithms
  • --add-ca can also now be a directory with *.pem files
  • Warning of 398 day limit for certificates issued after 2020/9/1
  • Added environment variable for amount of attempts for ssl renegotiation check
  • Added --user-agent argument to support using a custom User Agent
  • Added --overwrite argument to support overwriting output files without warning
  • Headerflag X-XSS-Protection is now labeled as INFO
  • Strict parser for HSTS
  • DNS via proxy improvements
  • Client simulation runs in wide mode which is even better readable
  • Added --reqheader to support custom headers in HTTP requests
  • Test for support for RFC 8879 certificate compression
  • Deprecating --fast and --ssl-native (warning but still av)
  • Compatible to GNU grep 3.8
  • Don't use external pwd command anymore
  • Doesn't hang anymore when there's no local resolver

Thanks to all who contributed! See CREDITS.md file.

You are encouraged to switch to 3.2.

Version 3.0.8

28 Sep 19:17
v3.0.8
abdd51d

Choose a tag to compare

  • Fix grep 3.8 warnings on fgrep and unneeded escapes of hyphen, slash, space (Geert)
  • Fix alignment for cipher output (David)
  • News binaries (Darwin from Barry), carry now the appendix -bad and fixes a security problem.
    Backport from higher OpenSSL version to support xmpp-server
  • Fix CT (David)
  • Fix decryption of TLS 1.3 response (David)
  • Upgrade Dockerfile to Alpine to 3.15
  • Fix pretty JSON formatting when warning is issued (David)
  • Update of certificate stores
  • Major update of client simulation (9 new simulations , >4 removed in default run)
  • Fix CRIME output on servers only supporting TLS 1.3 (Tomasz)
  • Fix censys link
  • Fix some handshake problems w $OPENSSL ciphers, extend determine_optimal_sockets_params() to more
    ciphers, fix PROTOS_OFFERED (David)
  • Relax STARTTLS FTP requirement so that it doesn't require TLS after AUTH
  • Fix run_server_preference() with no default protocol (David)
  • Fix getting CRL / NO_SESSION_ID under some circumstances (David)
  • Improve/fix OpenSSL 3.0 compatibility (David)
  • Fix formatting to documentation
  • Add FFDHE groups to supported_groups (David)
  • Include RSA-PSS in ClientHello (David)

You are encouraged to switch to 3.2 as this might be the latest maintenance release. Especially distributions.