Skip to content

TLS 1.3 can be enabled without any cipher suite #10076

@gilles-peskine-arm

Description

@gilles-peskine-arm

It is possible to enable TLS 1.3 (MBEDTLS_SSL_PROTO_TLS1_3), but make it effectively impossible by not enabling any cipher suite. All TLS 1.3 cipher suites require one of AES+GCM or AES+CCM or ChachaPoly, as well as the matching hash among SHA-256 and SHA-384. For example, depends.py PSA_WANT_KEY_TYPE_ARIA (depends.py MBEDTLS_ARIA_C in 3.6) makes TLS 1.3 impossible since neither AES nor ChachaPoly is enabled, but TLS 1.3 is still offered in the protocol negotiation.

(In contrast, check_config.h has clauses about MBEDTLS_SSL_PROTO_TLS1_3 needing handshake features, although I'm not sure they're complete.)

I'm not sure what the resolution is: a stricter check_config.h (might be dangerous in 3.6 LTS)?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions