Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Restrict TLS version not working

Open
#1,429 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
go
Domain
backend, security

Research direction

Start by reproducing the issue with the cfssl serve command and its -min-tls-version=1.3 option, then compare the result with the working 1.2 invocation. Use ssls-can to verify the enabled protocols and ciphers. Done means TLS 1.0 through 1.2 and their CBC ciphers are disabled while TLS 1.3 remains enabled.

Written by the indexing model from the issue text.

Description

When running:
/usr/local/bin/cfssl serve -ca=/opt/cfssl/cacert.pem -ca-key=/opt/cfssl/cakey.pem -config /opt/cfssl/cfssl.json -address=0.0.0.0 -port=443 -loglevel=1 -min-tls-version=1.3 -tls-key=/opt/cfssl/cfssl-ca-key.pem -tls-cert=/opt/cfssl/cfssl-ca.pem

SSLSCAN returns the following

SSL/TLS Protocols:
SSLv2 disabled
SSLv3 disabled
TLSv1.0 enabled
TLSv1.1 enabled
TLSv1.2 enabled
TLSv1.3 enabled

While restricting the TLS version 1.2 seems to work successfully.
/usr/local/bin/cfssl serve -ca=/opt/cfssl/cacert.pem -ca-key=/opt/cfssl/cakey.pem -config /opt/cfssl/cfssl.json -address=0.0.0.0 -port=443 -loglevel=1 -min-tls-version=1.2 -tls-key=/opt/cfssl/cfssl-ca-key.pem -tls-cert=/opt/cfssl/cfssl-ca.pem

However the CBC ciphers are considered problematic ans we would like to force TLS 1.3 only. With both 1.2 and 1.3 enabled we see the following protocols and ciphers available.

SSL/TLS Protocols:
SSLv2 disabled
SSLv3 disabled
TLSv1.0 disabled
TLSv1.1 disabled
TLSv1.2 enabled
TLSv1.3 enabled

TLS Fallback SCSV:
Server supports TLS Fallback SCSV

TLS renegotiation:
Session renegotiation not supported

TLS Compression:
OpenSSL version does not support compression
Rebuild with zlib1g-dev package for zlib support

Heartbleed:
TLSv1.3 not vulnerable to heartbleed
TLSv1.2 not vulnerable to heartbleed

Supported Server Cipher(s):
Preferred TLSv1.3 128 bits TLS_AES_128_GCM_SHA256 Curve 25519 DHE 253
Accepted TLSv1.3 256 bits TLS_AES_256_GCM_SHA384 Curve 25519 DHE 253
Accepted TLSv1.3 256 bits TLS_CHACHA20_POLY1305_SHA256 Curve 25519 DHE 253
Preferred TLSv1.2 128 bits ECDHE-RSA-AES128-GCM-SHA256 Curve 25519 DHE 253
Accepted TLSv1.2 256 bits ECDHE-RSA-AES256-GCM-SHA384 Curve 25519 DHE 253
Accepted TLSv1.2 256 bits ECDHE-RSA-CHACHA20-POLY1305 Curve 25519 DHE 253
Accepted TLSv1.2 128 bits ECDHE-RSA-AES128-SHA Curve 25519 DHE 253
Accepted TLSv1.2 256 bits ECDHE-RSA-AES256-SHA Curve 25519 DHE 253
Accepted TLSv1.2 128 bits AES128-GCM-SHA256
Accepted TLSv1.2 256 bits AES256-GCM-SHA384
Accepted TLSv1.2 128 bits AES128-SHA
Accepted TLSv1.2 256 bits AES256-SHA
Accepted TLSv1.2 112 bits TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
Accepted TLSv1.2 112 bits TLS_RSA_WITH_3DES_EDE_CBC_SHA

Dominant language
Go
Stars
9.5k
Forks
1.2k
Avg merge
12h 48m
Merged PRs (30d)
2

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from cloudflare/cfssl

All issues in cloudflare/cfssl

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.