Commit Graph

5128 Commits

Author SHA1 Message Date
Dirk d146c56bfd Make sure date -r hits a readable dir (3.2)
When checking early for date flavors, there might be an edge case when a directory with a referred file (for the date command) isn't readable which might cause testssl.sh not to detect the date flavor correctly.

This fixes that (#3009) by cd'ing to / in a subshell which should be cd'able and readable under every platform.
2026-04-07 16:02:48 +02:00
Dirk Wetter 6efc4c9a85 Merge pull request #3011 from testssl/patch-2
Fix typo
2026-04-07 09:52:49 +02:00
Dirk Wetter 19fbe436e4 Fix typo 2026-04-07 09:49:51 +02:00
Dirk Wetter 52dc2d5e57 Merge pull request #3006 from dcooper16/ossl4_32
OpenSSL 4 compatibility
2026-03-25 09:50:10 +01:00
David Cooper 6e9854df71 OpenSSL 4 compatibility
This commit addresses two issues created by changes in certificate printing in OpenSSL 4 (based on testing with OpenSSL 4.0.0-alpha1).

With OpenSSL 4, the public key type for ML-DSA keys is now shown with a string (e.g., ML-DSA-44) rather than an OID. The first change in this commit ensures that the public key size is set correctly in this case.

Second, different information is printed about the size of elliptic curve public keys. All previous versions of OpenSSL (and LibreSSL) just provided the size of the public key:

    Public-Key: (256 bit)

OpenSSL 4.0.0-alpha includes additional information:

    Public-Key: (256 bit field, 128 bit security level)

The second change in this commit removes this additional information.
2026-03-23 13:57:04 -07:00
Dirk Wetter 2d2e665650 Merge pull request #2996 from testssl/drwetter-patch-1
docker + IPv6, incl. host networking
2026-02-18 10:39:22 +01:00
Dirk Wetter 8d8b6556a5 docker + IPv6, incl. host networking 2026-02-18 10:37:31 +01:00
Dirk Wetter d2d9d2a041 Merge pull request #2988 from testssl/v3.2.3
Bump version (3.2)
v3.2.3
2026-02-12 13:21:40 +01:00
Dirk Wetter 9a2b224d0e Bump version 2026-02-12 12:10:35 +01:00
Dirk Wetter c01ff1fd77 Merge pull request #2984 from testssl/fix_2983_robot_vars_3.2
Finalize renaming MAX_WAITSOCK --> ROBOT_TIMEOUT (3.2)
2026-02-11 21:36:55 +01:00
Dirk 0c92842024 Google has KEMs wjhich openssl doesn't have yet 2026-02-11 20:12:41 +01:00
Dirk dd83792c58 Fix typo which fixes potential false positives 2026-02-11 19:38:00 +01:00
Dirk 03b0f483dc Finalize the renaming MAX_WAITSOCK --> ROBOT_TIMEOUT (3.2)
The commit 6753a95c939359f9e06fb9f3dd199a0 changed some variables however for consistency
MAX_WAITSOCK should have been completely changed to ROBOT_TIMEOUT .

This PR suggests that. Moreover it changes the local variable robottimeout to robot_timeout.

This fixes #2983 for 3.2 .
2026-01-22 18:36:41 +01:00
Dirk Wetter 40c1edbd13 Merge pull request #2976 from testssl/mitigate_2083_3.2
Mitigate inconsistent test results for ROBOT (3.2)
2025-12-21 16:13:37 +01:00
Dirk Wetter 1ca2d624d9 Update docs to reflect ROBOT_TIMEOUT 2025-12-20 14:04:37 +01:00
Dirk Wetter 2ab0f3153f Mitigate inconsistent test results for ROBOT (3.2)
As reported a longer while back in #2083 there were trailing bytes when receiving a TLS alert by the ROBOT check.

This PR corrects and thus normalizes the length of the TLS alert message to the correct value, supposed the length in the TLS alert is two bytes and it is an TLS alert. PR for 3.3dev was #2969 .

Also this PR now uses a separate variable for the timeout. Using a separate global variable may offer some possibility for tuning the check when the latency to the target is high. This is still subject of research.
The variable is 10 seconds here to be in line with MAX_WAITSOCK which (name) was used previously.
2025-12-20 13:43:06 +01:00
Dirk Wetter e4566796a6 Merge pull request #2970 from testssl/fix_missing_vulnLF_3.2
Add missing counter to ROBOT (3.2)
2025-12-19 13:58:42 +01:00
Dirk Wetter 06fd88f67a Add missing counter to ROBOT (3.2)
We missed somehow to add in the big while loop to add the fact that ROBOT is a vulnerability which became
apparent with #2967 (3.3dev).

This PR adds that for 3.2 also. See #2968.
2025-12-15 14:54:20 +01:00
Dirk Wetter 67ee3d9e9a Merge pull request #2966 from testssl/fix_2944_3.2
Add missing LF after pwnkeys DB check (3.2)
2025-12-14 21:03:35 +01:00
Dirk Wetter 7b30757d84 Add missing LF after pwnkeys DB check (3.2)
This fixes #2944 for 3.2 .

Also for the CRL check there were 2 LFs in the code added for readability.
2025-12-14 17:52:45 +01:00
Dirk Wetter e22872fff9 Merge pull request #2964 from dcooper16/fix2959_32
Fix #2959
2025-12-14 00:11:43 +01:00
David 7e43eb6e0c Fix #2959
This commit fixes #2959 by modifying TLS12_CIPHER, TLS12_CIPHER_2ND_TRY, and TLS12_CIPHER_3RD_TRY so that they each have 118 ciphers (including "00,ff"). It also modifies run_cipherlists(), run_server_defaults(), and run_beast() so that, when $SERVER_SIZE_LIMIT_BUG is true, no more than 125 ciphers are sent.
2025-12-13 08:53:53 -08:00
Dirk Wetter 4d3c1eea07 Merge pull request #2962 from testssl/fix_2960_3.2
Label missing KEMs as LOW severity (3.2)
2025-12-09 16:18:21 +01:00
Dirk Wetter 5a7b534c8e Label missing KEMs as LOW severity (3.2)
see #2960.

As 3.2 is used for distributions it seems consistent if we scan for KEMs
to backport this feature.
2025-12-09 14:16:44 +01:00
Dirk Wetter dfeb8c5792 Merge pull request #2939 from testssl/fix_2938_3.2
Fix pattern for matching /etc/hosts entries (3.2)
2025-11-04 14:56:59 +01:00
Dirk Wetter a5c13a57cf Fix pattern for matching /etc/hosts entries (3.2)
`grep -w` matches also `string1-whatsoever` so that entries like

```
192.168.0.10 anystring anystring-apache
192.168.0.11 anystring-tomcat
```

matched 3 entries over 2 lines.

This PR fixes #2937 for 3.2 by improving the pattern, so that `string1` needs a trailing whitespace or an EOL -- besides a leading whitespace..
2025-11-04 09:17:08 +01:00
Dirk Wetter 6bb51ab9ba Merge pull request #2936 from testssl/fix_2933_3.2
Add new Sectigo R46 cert, update Java/Mozilla.pem (3.2)
2025-11-01 18:00:45 +01:00
Dirk 48b0c01c07 Add new Sectigo R46 cert, update Java/Mozilla.pem (3.2)
Fixes #2933 for 3.2 .
2025-11-01 14:32:08 +01:00
Dirk Wetter a3217a51f3 Merge pull request #2931 from testssl/fix_2929_3.2
Fix date parsing bc of locale problem (3.2)
2025-10-30 20:42:01 +01:00
Dirk 611a44a7cf Merge branch '3.2' into fix_2929_3.2 2025-10-30 18:01:20 +01:00
Dirk Wetter 8cbfe9b5c9 Merge pull request #2932 from testssl/shorten_badssl_3.2
Shorten badssl GHA as they fail too often (3.2)
2025-10-30 17:58:34 +01:00
Dirk d7ba204c6c Shorten badssl GHA as they fail too often (3.2)
Remove checks which aren't needed
2025-10-30 16:12:33 +01:00
Dirk e024f0daaa Fix date parsing bc of locale problem
The new block making sure that rust coreutils work properly (PR #2913)
introduced a new check in order to determine which date functions
to use.

The function however parsed only for English error messages ("No such file").
This PR fixes #2929 that for 3.2  by setting LC_ALL to C.
2025-10-30 13:49:45 +01:00
Dirk Wetter 0b0b8ed049 Merge pull request #2928 from testssl/fix_2926_ua_sneaky_3.2
Update "sneaky" user agent (3.2)
2025-10-28 20:52:11 +01:00
Dirk 9bcede1a6c Update "sneaky" user agent (3.2)
fixes #2926 for branch 3.2
2025-10-28 15:19:57 +01:00
Dirk Wetter 9e269f5488 Merge pull request #2924 from testssl/date_fix_rust-date.3.2
Fix date for Ubuntu >= 25.10 (3.2)
2025-10-12 20:17:09 +02:00
Dirk Wetter df652c05cd Fix date for Ubuntu >= 25.10 (3.2)
Ubuntu 25.10 has transitionned from GNU Core-utils to Rust Core-utils. That changes the testing
results which date version to use for displaying / conversion of dates like in certificates.
Probably more Linux distriutions will follow. See also #2909 .

For maintenance reasons it is advised also the stable version will get this patched. For
3.3dev, see #2913 .
2025-10-12 12:20:29 +02:00
Dirk aeb5e58f70 Update Linux CA store (3.2)
from Debian 13. Fixes #2915 for 3.2
2025-10-11 23:29:17 +02:00
Dirk Wetter 6d332166aa Merge pull request #2921 from testssl/fix_unittest_3.2
Fix unittest 3.2
2025-10-11 23:28:28 +02:00
Dirk Wetter e8631fb8f7 mac changes 2025-10-11 19:22:19 +02:00
Dirk a27d8b9c31 Update baseline scan for unit test (3.2)
This PR updates the baseline after switching to the new server.  See also #2914 .
2025-10-11 17:39:40 +02:00
Dirk caf7dc561a new IP address 2025-10-09 21:05:58 +02:00
Dirk 2924394160 Don't tigger unit tests whenroff file was changed 2025-10-09 21:03:56 +02:00
Dirk Wetter a3372ed1a4 Merge pull request #2907 from testssl/fix_file_naming_3.2
Fix file time stamp issue
2025-09-30 20:42:23 +02:00
Dirk ceb24740a3 Fix file time stamp issue
Backport from #2904  (3.3dev). Time stamps for file outputs are now consistent.

Kudos @jdvorak001. Fixes #2901
2025-09-30 17:37:11 +02:00
Dirk Wetter 6b7aa7a9e6 Merge pull request #2906 from testssl/fix_2884_3.2
Consistency for function ciphers_by_strength() (3.2)
2025-09-30 17:30:46 +02:00
Dirk 43a71b0611 Consistency for function ciphers_by_strength()
This PR ist similar to #2905 for 3.3dev . However for the stable brnach it's
important to note that this is a breaking change as it modifies the output.
That happens only tough when `ciphers_by_strength()` is being used --equivalent
to the command line `./testssl.sh -E` =  `./testssl.sh --cipher-per-proto`. As
this is seldom used and was basically succeeded by `-P, --server-preference`
this looks acceptable as it provides consistency which was overdue.

Details:

* keys now always with `v`, like `supportedciphers_TLSv1_2` and also ciphers
  (e.g. `TLSv1.2   x35     AES256-SHA`)
*  add word "server" to file output so that it reads "NOT a server cipher order configured"

Fixes #2884 for 3.2 .
2025-09-30 16:07:56 +02:00
Dirk Wetter 2e77f5ea5d Merge pull request #2898 from dcooper16/fix2896_32
Fix #2896
2025-09-22 19:35:27 +02:00
David Cooper f1a9f2198b Fix #2896
This commit fixes #2896. This commit avoids modifying the ADDTL_CA_FILES environment variable, and instead substitutes spaces for commas whenever the variable is used.
2025-09-22 08:35:33 -07:00
Dirk Wetter 416de7ef0e Merge pull request #2900 from testssl/backport_32_isHTML_valid
Backport GH runner from 3.3dev
2025-09-22 13:17:36 +02:00