Skip to content

error on dtls with ech - #12047

Open
sebastian-carpenter wants to merge 1 commit into
wolfSSL:masterfrom
sebastian-carpenter:ech-dtls
Open

sebastian-carpenter wants to merge 1 commit into
wolfSSL:masterfrom
sebastian-carpenter:ech-dtls

Conversation

@sebastian-carpenter

Copy link
Copy Markdown
Contributor

Description

The DTLS13 code does not currently support Encrypted Client Hello (ECH). Error instead of attempting to make a connection.

Connections would fail regardless for both the server and client. This just prevents it from being attempted.

The client will error when TLSX_PopulateExtensions() runs.

The server will error at wolfSSL_accept() or wolfSSL_accept_TLSv13().

Addresses GH #12013

Testing

./configure --enable-ech --enable-dtls13
./tests/unit.test -test_wolfSSL_Dtls_ECH_unsupported

Checklist

  • added tests
  • updated/added doxygen
  • updated appropriate READMEs
  • Updated manual and documentation

@sebastian-carpenter sebastian-carpenter self-assigned this Nov 6, 2026
Copilot AI lite review requested due to automatic review settings November 6, 2026 17:54
@github-actions

github-actions Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The supplied review status reports no active issues, supporting approval of the change.

No open issues 🎉

What changed in this PR

This pull request prevents unsupported Encrypted Client Hello (ECH) use over DTLS and adds regression tests for DTLS 1.2 and 1.3 behavior.

Changes:

  • Rejects client-side ECH configuration during DTLS extension population.
  • Rejects server-side ECH configuration during generic and TLS 1.3 accept paths.
  • Adds memory-I/O tests for ECH rejection and ECH-disabled handshakes.
File Summary
tests/​api.c Adds DTLS ECH rejection and ECH-disabled handshake coverage.
src/​tls13.c Rejects ECH-configured DTLS connections in the TLS 1.3 server path.
src/​tls.c Contains a moderate issue: the client-side guard should use WOLFSSL_DTLS rather than WOLFSSL_DTLS13 so DTLS 1.2 builds also reject configured ECH before sending data.
src/​ssl_api_hs.c Rejects ECH-configured DTLS connections in the generic server accept path.

This pull request requires changes.

Review effort: Lite

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: DTLS 1.3 ECH is never accepted; client fails with ECH_REQUIRED_E (-519)

3 participants