Commit Graph
100 Commits
Author SHA1 Message Date
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 WetterandGitHub 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 WetterandGitHub 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 WetterandGitHub e22872fff9 Merge pull request #2964 from dcooper16/fix2959_32
Fix #2959
2025-12-14 00:11:43 +01:00
Dirk WetterandGitHub 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 WetterandGitHub 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 WetterandGitHub 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 WetterandGitHub 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 WetterandGitHub 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 WetterandGitHub 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 WetterandGitHub 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 WetterandGitHub 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 WetterandGitHub 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 WetterandGitHub 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 WetterandGitHub 2e77f5ea5d Merge pull request #2898 from dcooper16/fix2896_32
Fix #2896
2025-09-22 19:35:27 +02:00
Dirk WetterandGitHub 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
Dirk f29f93ca72 Backport from 3.3dev
... to avoid repeated failures because of heise.de . Looks like there are
server side measures which made some tests fail. Often the MacOS CI runner
is slower and seems to run into that.

See also 56c1e585
2025-09-22 11:06:24 +02:00
Dirk WetterandGitHub c4856bef72 Merge pull request #2890 from testssl/bump_version_3.2
Bump version (3.2)
2025-09-18 11:31:56 +02:00
Dirk WetterandGitHub 73c0ca9f88 Merge pull request #2895 from testssl/update_faq_again_3.2
Restructure, load balancer issue, STARTTLS SMTP better explained
2025-09-18 11:31:24 +02:00
Dirk Wetter 2acba56101 Restructure, load balancer issue, STARTTLS SMTP better explained 2025-09-18 11:14:29 +02:00
Dirk WetterandGitHub 71f60a1317 Merge pull request #2892 from testssl/lucky_phrasing_3.2
Lucky13: improve phrasing for 3.2
2025-09-18 10:24:53 +02:00
Dirk Wetter ae5033a3c7 fix error in baseline (CI) 2025-09-16 19:55:32 +02:00
Dirk WetterandGitHub 13c7977c7c Merge pull request #2889 from testssl/fix_indentation
Fix indentation @ Intermediate cert validity (3.2)
2025-09-16 19:53:05 +02:00
Dirk Wetter 892e95a6ca Rephrase Lucky13 finding for 3.2
see also #2537 .
2025-09-16 14:11:39 +02:00
Dirk Wetter 1504961a8e Bump version (3.2) 2025-09-16 12:58:58 +02:00
Dirk Wetter 0d0fbe4483 Fix indentation @ Intermediate cert validity (3.2)
... when there were two server and >1 intermediate CA certificates.
2025-09-16 12:54:41 +02:00
Dirk WetterandGitHub 559c089c39 Merge pull request #2887 from testssl/fix_http_age_3.2
Fix garbled screen when HTTP Age is not a non-negative int (branch 3.2)
2025-09-16 09:58:40 +02:00
Dirk 7aa9d30a72 Typos fixed which led to wrong file name
... which was catched in unit tests t/{baseline_ipv4_http.t,23_client_simulation}
2025-09-15 22:43:07 +02:00
Dirk WetterandGitHub a11ad9448a Merge pull request #2888 from testssl/update_faq_3.2
Additions to FAQ (branch 3.2)
2025-09-15 22:40:11 +02:00
Dirk Wetter e30565cf76 Additions to FAQ (branch 3.2)
- STARTTLS + rating
- amend paragraphs
- and try to avoid the word "crypto"
2025-09-15 19:18:09 +02:00
Dirk 7bb7ac8f08 Fix garbled screen when HTTP Age is not a non-negative int (3.2)
As suggested in #2885 parsing of the server determined HTTP age var wasn't strict enough, this is a backport for 3.2.

https://www.rfc-editor.org/rfc/rfc7234#section-1.2.1 requires the variable to be a non-negative integer but testssl.sh assumed it was like that but did't check whether that really was the case. This was labled as a (potential) security problem. Potential as it didn't look exploitable after review -- the header as a whole was already sanitized.

This PR fixes the typs confusion and the garbled screen by checking the variable early in run_http_header() and reset it to NaN. That will be used later in run_http_date() to raise a low severity finding.  Kudos to @Tristanhx for catching this and for the suggested PR.

Also, only when running in debug mode, this PR fixes that during service_detection() parts of the not-yet-sanitized header ended up on the screen. The fix just calls sanitze_http_header() for the temporary variable $TMPFILE.

For 3.2 sanitze_http_header() had to be modified to accept an argument and the callers needed to be changed.
2025-09-15 18:57:59 +02:00
Dirk WetterandGitHub 5d275e5370 Merge pull request #2881 from testssl/faq_3.2
FAQ for 3.2
2025-09-02 15:58:13 +02:00
Dirk Wetter af84055e7d Backport FAQ from 3.3dev 2025-09-02 15:53:21 +02:00
Dirk WetterandGitHub c52e5549ed Merge pull request #2864 from testssl/drwetter-patch-1
Modify OS bullet point + badge param
2025-07-29 12:41:59 +02:00
Dirk WetterandGitHub c8044ab7aa Modify OS point + badge param 2025-07-29 12:37:38 +02:00
Dirk WetterandGitHub 878513e140 Merge pull request #2845 from testssl/fix_misleading_ipv4_msg_3.2
Fix displayed message when IPv6 needs to be tested too (3.2)
2025-07-15 23:30:00 +02:00
Dirk Wetter 853cea8530 Fix displayed message when IPv6 needs to be tested too (3.2)
message: "Testing all IPv4 addresses"

related to #2843.
2025-07-15 20:49:07 +02:00
Dirk WetterandGitHub 0191098432 Merge pull request #2841 from testssl/rollup_improvements
Rollup improvements (3.2)
2025-07-13 08:57:27 +02:00
Dirk Wetter 8d905054f3 fix typos 2025-07-12 18:51:24 +02:00
Dirk Wetter 3812554987 Backport readability and more improvements from 3.3dev
The opossum patch improved http_get() , http_get_header/http_head()
in terms of readability. This was backported to improve maintainability.

Also in pwned keys if not pwned appear now in green/OK and not just
info level.

HAS_UDS2 was renamed to HAS2_UDS.
2025-07-12 18:45:45 +02:00
Dirk WetterandGitHub 9b795df17e Merge pull request #2839 from testssl/no_fulloutput@32_isHTML_valid
do not output the whole output
2025-07-12 14:50:48 +02:00
Dirk c6062a2254 do not output the whole output
text + html , comp_ok --> ok
2025-07-11 14:42:05 +02:00
Dirk WetterandGitHub 137c7e2fbb Merge pull request #2832 from testssl/12_diff_homebrew_(3.2)
For Mac: use homebrew's openssl (3.2)
2025-07-10 11:19:41 +02:00
Dirk WetterandGitHub 9290f819af Merge pull request #2836 from testssl/drwetter-patch-1
rating bump to 2009r
2025-07-10 09:41:52 +02:00
Dirk WetterandGitHub 28514d3a88 rating bump to 2009r 2025-07-10 09:41:19 +02:00
Dirk WetterandGitHub f674cde6de Merge pull request #2834 from magnuslarsen/3.2
feat: bump ssllabs rating guide to 2009r
2025-07-10 09:36:33 +02:00
Dirk Wetter d63617c0f6 make it compatible when run locally 2025-07-10 09:14:08 +02:00
Dirk Wetter 815e737bfe Check the correct file 2025-07-09 18:10:30 +02:00
Dirk Wetter 1f589565c7 we changed above the ECDH bit length already 2025-07-09 16:17:28 +02:00
Dirk Wetter 822c6b31d7 fix stnax errors 2025-07-09 15:22:48 +02:00
Dirk Wetter 4f52cbbedf Copy LibreSSL change of naming scheme from t/61_diff_testsslsh.t
... also if NOW only ciphers seem affected.
2025-07-09 13:31:18 +02:00
Dirk Wetter b8aadef737 For Mac: use homebrew's openssl (3.2)
... so that we have a comparison between OpenSSL and LibreSSL. Otherwise this test would be completely futile for MacOS.
Also change the displayed text.
2025-07-08 23:47:19 +02:00
Dirk WetterandGitHub b783fbc660 Merge pull request #2826 from testssl/fix_2825
Fix not working --disable-rating switch
2025-07-07 14:01:50 +02:00
Dirk Wetter 0b79356357 Fix not working --disable-rating switch
The logic was wrong when calling set_rating_state() in parse_cmd_line()
as do_rating was set before to true through set_scanning_defaults().

This PR fixes that by querying ${SKIP_TESTS[@]} instead and then calling
set_rating_state() when no --disable-rating was supplied .
2025-07-07 12:01:43 +02:00
Dirk WetterandGitHub 8cb32a3db9 Merge pull request #2819 from testssl/perf_improvements
Make code2network() faster by using bash instead of tr
2025-07-03 18:14:54 +02:00
Dirk Wetter 9511f3b9db Fix 52_ocsp_revoked (OCSP --> CRL) 2025-07-03 16:59:54 +02:00
Dirk WetterandGitHub 4b5409122c Merge pull request #2820 from testssl/performance_hint
Performance hint for openssl
2025-07-02 17:37:21 +02:00
Dirk Wetter 6de18d3a22 was 2x first 2025-07-02 17:36:33 +02:00
Dirk Wetter 6083938a47 Performance hint for openssl 2025-07-02 17:34:29 +02:00
Dirk WetterandGitHub 2829827cc2 Merge pull request #2817 from testssl/errormsg_2807
Improve error message for sockets fail and Alpine
2025-06-29 17:06:01 +02:00
Dirk 3792bceeda Improve error message for sockets fail and Alpine
See $2807 .

Also some prln_magenta were modified (see #2816) to pr_warning.
2025-06-29 15:24:44 +02:00
Dirk Wetter d80e0e9f95 Make code2network() faster by using bash only 2025-06-27 19:09:01 +02:00
Dirk WetterandGitHub 9b1a7ae1f8 Merge pull request #2814 from testssl/revert-2813-revert_2772_for_testing
Revert "Revert lowercase conversion for repo"
2025-06-24 12:07:08 +02:00
Dirk 78a613dae3 Remove the scheudule part as it will not work anymore 2025-06-24 12:06:00 +02:00
Dirk WetterandGitHub b56302518b Revert "Revert lowercase conversion for repo" 2025-06-23 23:12:59 +02:00
Dirk WetterandGitHub 6dc26b09fe Merge pull request #2813 from testssl/revert_2772_for_testing
Revert lowercase conversion for repo
2025-06-23 21:38:32 +02:00
Dirk d44692331b Revert lowercase conversion for repo
... which was done in #2772 . This is done for testing as building the container doesn't
work anymore, see #2810 .

Action logs say it was build but it's unclear why it is still based on 3.2rc4 .
Hence this test.

The schedule was commented out as it would not apply either here as 3.3dev is
 now the default version.
2025-06-23 21:17:49 +02:00
Dirk WetterandGitHub bed43df2df Merge pull request #2812 from testssl/ghcr_workflow_no_unittest
YAML file doesn't need the unit tests
2025-06-23 21:04:43 +02:00
Dirk Wetter 58719e4492 YAML file doesn't need the unit tests 2025-06-23 21:00:33 +02:00
Dirk WetterandGitHub 5fe854b830 Merge pull request #2809 from testssl/improve_2798
Minor improvements to #2798
2025-06-23 20:29:27 +02:00
Dirk WetterandGitHub 4d75527a4b Merge pull request #2808 from testssl/fix_sectigo_x46.forLinux
Add sectigo CA E46 and R46 for Linux.pem
2025-06-23 20:29:07 +02:00
Dirk Wetter c9a11a9fb0 Minor improvements to #2798
see https://github.com/testssl/testssl.sh/pull/2798#issuecomment-2972834180
2025-06-23 18:43:34 +02:00
Dirk WetterandGitHub 71f0f32cf5 Merge pull request #2798 from secinto/3.2
Modify grading for incomplete chain. 

suggested corrections will be done after merge
2025-06-23 18:41:00 +02:00
Dirk Wetter b4f9e51865 Add lf so that gh action doesn't complain 2025-06-23 18:21:44 +02:00
Dirk Wetter 1403503077 Add Sectigo x46 CAs from recent Debian update 2025-06-23 18:20:14 +02:00
Dirk WetterandGitHub a209f92d4f Merge pull request #2804 from testssl/readiness_for_new_stuff
Reflect version 3.0.10 version is EOL
2025-06-15 09:28:24 +02:00
Dirk WetterandGitHub 99a05cb261 Merge pull request #2801 from HarrisonTCodes/fix-readme-deepwiki-link
Fix README DeepWiki Link
2025-06-14 17:14:37 +02:00
Dirk 637fb86c83 typo 2025-06-14 17:11:30 +02:00
Dirk c4ad4d7d42 Reflect version 3.0.10 version is EOL 2025-06-14 17:09:24 +02:00
Dirk WetterandGitHub b6a951d40a Merge pull request #2797 from testssl/bump_version
Bump version
2025-06-13 10:24:25 +02:00
Dirk f2aa87ba66 Bump version
"just" bugfix release.
2025-06-12 17:26:06 +02:00
Dirk WetterandGitHub 949042866b Merge pull request #2796 from testssl/plaintext_len_AKA_openssl2conf_problem
Fix OPENSSL_CONF problem for OPENSSL2
2025-06-11 20:38:29 +02:00
Dirk 235a6a0f88 add another OPENSSL_CONF='' 2025-06-11 19:02:06 +02:00