Conversation
|
Generated a new error code in |
No. Just insert the new error code into your C file, and then run "make update". |
5fe4f5a to
889cdc3
Compare
@mattcaswell Ok I saw there is a |
Like I said. Just add the new reason code to your C file and run "make update". The "make update" will call mkerr.pl and do everything that is required to correctly add the error code. |
889cdc3 to
42318fc
Compare
|
@mattcaswell Should the NEWS/CHANGES.md be updated as well? Or is that done later? |
Probably this doesn't warrant a NEWS entry. But feel free to update CHANGES.md as part of this PR. |
1d69d49 to
bb30147
Compare
|
Ping @openssl/committers for second review |
bb30147 to
b9c815c
Compare
mattcaswell
left a comment
There was a problem hiding this comment.
Still looking for a second committer review
npajkovsky
left a comment
There was a problem hiding this comment.
I have my reservation for entry in CHANGES.md.
esyr
left a comment
There was a problem hiding this comment.
I don't think that dropping connections on session tickets with bogus lifetimes helps anything security-wise, honestly.
| *Timo Keller* | ||
|
|
||
| * Add client-side validation to reject session ticket lifetime hints exceeding | ||
| 604800 seconds (7 days) in TLS 1.3 connections, as required by RFC 8446 |
There was a problem hiding this comment.
Nit: you can use a link syntax for RFC 8446 by enclosing it in square brackets: [RFC 8446]. The URL itself should be added as part of [1].
[1] #31509
| 604800 seconds (7 days) in TLS 1.3 connections, as required by RFC 8446 | ||
| Section 4.6.1 ("Clients MUST NOT cache tickets for longer than 7 days."). | ||
|
|
||
| When a client has to process a new session ticket `tls_process_new_session_ticket` with a `ticket_lifetime_hint` |
| if (SSL_CONNECTION_IS_TLS13(s)) { | ||
| PACKET extpkt; | ||
|
|
||
| /* Fulfilling RFC8446:4.6.1 requirement: Clients MUST NOT cache |
There was a problem hiding this comment.
First line of a multi-line comment should be empty (it's not Linux's net/, after all).
| * tickets for longer than 7 days. | ||
| */ | ||
| if (ticket_lifetime_hint > 604800) { | ||
| SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_INVALID_TICKET_LIFETIME); |
There was a problem hiding this comment.
I am not convinced that a bogus ticket lifetime should be treated as a fatal protocol violation; at best, either the ticket with bogus life time can be discarded/ignored, or the lifetime can simply be capped at 7 days, as the RFC suggests ("Clients MUST NOT cache tickets for longer than 7 days, regardless of the ticket_lifetime, and MAY delete tickets earlier based on local policy"). Also, "A server MAY treat a ticket as valid for a shorter period of time than what is stated in the ticket_lifetime" gives servers some room for sending bogus lifetimes.
There was a problem hiding this comment.
I agree this is not going to be helpful or useful. Ticket lifetime should simply be capped.
|
This pull request is ready to merge |
Add client-side validation to check if session ticket lifetime hints exceeds 7 days in TLS1.3 connections and caps it to the maximum value of 7 days(604800 seconds). Modified `CHANGES.md` with the description of updated change. Resolves: #30808 Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 18 12:25:33 2026 (Merged from #31174)
Add client-side validation to check if session ticket lifetime hints exceeds 7 days in TLS1.3 connections and caps it to the maximum value of 7 days(604800 seconds). Modified `CHANGES.md` with the description of updated change. Resolves: #30808 Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 18 12:25:33 2026 (Merged from #31174) (cherry picked from commit 5a85e41)
Add client-side validation to check if session ticket lifetime hints exceeds 7 days in TLS1.3 connections and caps it to the maximum value of 7 days(604800 seconds). Modified `CHANGES.md` with the description of updated change. Resolves: #30808 Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 18 12:25:33 2026 (Merged from #31174) (cherry picked from commit 5a85e41)
Add client-side validation to check if session ticket lifetime hints exceeds 7 days in TLS1.3 connections and caps it to the maximum value of 7 days(604800 seconds). Modified `CHANGES.md` with the description of updated change. Resolves: #30808 Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 18 12:25:33 2026 (Merged from #31174) (cherry picked from commit 5a85e41)
|
Merged to all the active branches. Thank you. |
Add client-side validation to check if session ticket lifetime hints exceeds 7 days in TLS1.3 connections and caps it to the maximum value of 7 days(604800 seconds). Modified `CHANGES.md` with the description of updated change. Resolves: #30808 Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 18 12:25:33 2026 (Merged from #31174) (cherry picked from commit 5a85e41)
Add client-side validation to check if session ticket lifetime hints exceeds 7 days in TLS1.3 connections and caps it to the maximum value of 7 days(604800 seconds). Modified `CHANGES.md` with the description of updated change. Resolves: #30808 Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 18 12:25:33 2026 (Merged from #31174) (cherry picked from commit 5a85e41)
Add client-side validation to check if session ticket lifetime hints exceeds 7 days in TLS1.3 connections and caps it to the maximum value of 7 days(604800 seconds). Modified `CHANGES.md` with the description of updated change. Resolves: openssl#30808 Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 18 12:25:33 2026 (Merged from openssl#31174)
Add client-side validation to check if session ticket lifetime hints exceeds 7 days in TLS1.3 connections and caps it to the maximum value of 7 days(604800 seconds). Modified `CHANGES.md` with the description of updated change. Resolves: openssl#30808 Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 18 12:25:33 2026 (Merged from openssl#31174) (cherry picked from commit 5a85e41)
Add client-side validation to check if session ticket lifetime hints exceeds 7 days in TLS1.3 connections and caps it to the maximum value of 7 days(604800 seconds). Modified `CHANGES.md` with the description of updated change. Resolves: openssl#30808 Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 18 12:25:33 2026 (Merged from openssl#31174)
4.0.2 CHANGES.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-54876, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * #31174 "Enforce RFC 8446 ticket lifetime limit for TLS 1.3 client" (already present) * #31572 "[4.0, 3.6, 3.5, 3.4] Add icx compiler version support in perl asm scripts" * #31749 "Add documentation for OPENSSL_armcap" * #31764 "x509: fix OCSP BasicResponse leak during verification" (included as CVE-2026-54876) * #32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * #32300 "[4.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" 4.0.2 NEWS.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-54876, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * #31764 "x509: fix OCSP BasicResponse leak during verification" (included as CVE-2026-54876) * #32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * #32300 "[4.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" Signed-off-by: Eugene Syromiatnikov <[email protected]> 14456 Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Bob Beck <[email protected]> Merge-date: Tue Aug 25 11:33:50 2026
3.6.4 CHANGES.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-54876, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * #31174 "Enforce RFC 8446 ticket lifetime limit for TLS 1.3 client" (already present) * #31572 "[4.0, 3.6, 3.5, 3.4] Add icx compiler version support in perl asm scripts" * #31749 "Add documentation for OPENSSL_armcap" * #31764 "x509: fix OCSP BasicResponse leak during verification" (included as CVE-2026-54876) * #32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * #32259 "[3.6] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" 3.6.4 NEWS.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-54876, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * #31764 "x509: fix OCSP BasicResponse leak during verification" (included as CVE-2026-54876) * #32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * #32259 "[3.6] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Bob Beck <[email protected]> Merge-date: Tue Aug 25 11:35:50 2026
3.5.8 CHANGES.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * #31174 "Enforce RFC 8446 ticket lifetime limit for TLS 1.3 client" (already present) * #31572 "[4.0, 3.6, 3.5, 3.4] Add icx compiler version support in perl asm scripts" * #31749 "Add documentation for OPENSSL_armcap" * #32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * #32416 "[3.5,3.4] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" 3.5.8 NEWS.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * #32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * #32416 "[3.5,3.4] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Bob Beck <[email protected]> Merge-date: Tue Aug 25 11:36:56 2026
3.4.7 CHANGES.md includes the following: * CVE-2026-14457, CVE-2026-54874, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * #31174 "Enforce RFC 8446 ticket lifetime limit for TLS 1.3 client" (already present) * #31572 "[4.0, 3.6, 3.5, 3.4] Add icx compiler version support in perl asm scripts" * #32416 "[3.5,3.4] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" 3.4.7 NEWS.md includes the following: * CVE-2026-14457, CVE-2026-54874, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * #32416 "[3.5,3.4] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Bob Beck <[email protected]> Merge-date: Tue Aug 25 11:37:42 2026
3.0.22 CHANGES.md includes the following: * CVE-2026-54874, CVE-2026-63072, CVE-2026-63074, CVE-2026-63076, CVE-2026-75803 * #31174 "Enforce RFC 8446 ticket lifetime limit for TLS 1.3 client" (already present) * #31578 "Backport PR #30313 into 3.0 branch." * #32417 "[3.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" 3.0.22 NEWS.md includes the following: * CVE-2026-54874, CVE-2026-63072, CVE-2026-63074, CVE-2026-63076, CVE-2026-75803 * #32417 "[3.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Bob Beck <[email protected]> Merge-date: Tue Aug 25 11:38:33 2026
4.0.2 CHANGES.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-54876, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * openssl#31174 "Enforce RFC 8446 ticket lifetime limit for TLS 1.3 client" (already present) * openssl#31572 "[4.0, 3.6, 3.5, 3.4] Add icx compiler version support in perl asm scripts" * openssl#31749 "Add documentation for OPENSSL_armcap" * openssl#31764 "x509: fix OCSP BasicResponse leak during verification" (included as CVE-2026-54876) * openssl#32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * openssl#32300 "[4.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * openssl#32427 "Backport openssl#32256 openssl 4.0 to 3.0" 4.0.2 NEWS.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-54876, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * openssl#31764 "x509: fix OCSP BasicResponse leak during verification" (included as CVE-2026-54876) * openssl#32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * openssl#32300 "[4.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * openssl#32427 "Backport openssl#32256 openssl 4.0 to 3.0" Signed-off-by: Eugene Syromiatnikov <[email protected]>
4.0.2 CHANGES.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-54876, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * openssl#31174 "Enforce RFC 8446 ticket lifetime limit for TLS 1.3 client" (already present) * openssl#31572 "[4.0, 3.6, 3.5, 3.4] Add icx compiler version support in perl asm scripts" * openssl#31749 "Add documentation for OPENSSL_armcap" * openssl#31764 "x509: fix OCSP BasicResponse leak during verification" (included as CVE-2026-54876) * openssl#32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * openssl#32300 "[4.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * openssl#32427 "Backport openssl#32256 openssl 4.0 to 3.0" 4.0.2 NEWS.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-54876, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * openssl#31764 "x509: fix OCSP BasicResponse leak during verification" (included as CVE-2026-54876) * openssl#32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * openssl#32300 "[4.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * openssl#32427 "Backport openssl#32256 openssl 4.0 to 3.0" Signed-off-by: Eugene Syromiatnikov <[email protected]>
4.0.2 CHANGES.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-54876, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * #31174 "Enforce RFC 8446 ticket lifetime limit for TLS 1.3 client" (already present) * #31572 "[4.0, 3.6, 3.5, 3.4] Add icx compiler version support in perl asm scripts" * #31749 "Add documentation for OPENSSL_armcap" * #31764 "x509: fix OCSP BasicResponse leak during verification" (included as CVE-2026-54876) * #32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * #32300 "[4.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" 4.0.2 NEWS.md includes the following: * CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-54876, CVE-2026-63072, CVE-2026-63073, CVE-2026-63074, CVE-2026-63075, CVE-2026-63076, CVE-2026-75803 * #31764 "x509: fix OCSP BasicResponse leak during verification" (included as CVE-2026-54876) * #32052 "QUIC server: limit the number of pending connections" (included as CVE-2026-14456) * #32300 "[4.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * #32427 "Backport #32256 openssl 4.0 to 3.0" Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Merge-date: Fri Aug 28 11:16:09 2026 Merged-from: #32484
3.0.22 CHANGES.md includes the following: * CVE-2026-54874, CVE-2026-63072, CVE-2026-63074, CVE-2026-63076, CVE-2026-75803 * openssl#31174 "Enforce RFC 8446 ticket lifetime limit for TLS 1.3 client" (already present) * openssl#31578 "Backport PR openssl#30313 into 3.0 branch." * openssl#32417 "[3.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * openssl#32427 "Backport openssl#32256 openssl 4.0 to 3.0" 3.0.22 NEWS.md includes the following: * CVE-2026-54874, CVE-2026-63072, CVE-2026-63074, CVE-2026-63076, CVE-2026-75803 * openssl#32417 "[3.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * openssl#32427 "Backport openssl#32256 openssl 4.0 to 3.0" Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Bob Beck <[email protected]> Merge-date: Tue Aug 25 11:38:33 2026 (cherry picked from commit 2f6e1a9)
3.0.22 CHANGES.md includes the following: * CVE-2026-54874, CVE-2026-63072, CVE-2026-63074, CVE-2026-63076, CVE-2026-75803 * openssl#31174 "Enforce RFC 8446 ticket lifetime limit for TLS 1.3 client" (already present) * openssl#31578 "Backport PR openssl#30313 into 3.0 branch." * openssl#32417 "[3.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * openssl#32427 "Backport openssl#32256 openssl 4.0 to 3.0" 3.0.22 NEWS.md includes the following: * CVE-2026-54874, CVE-2026-63072, CVE-2026-63074, CVE-2026-63076, CVE-2026-75803 * openssl#32417 "[3.0] Reject explicitly supplied invalid tags and generate tags for empty AEAD messages" (included as CVE-2026-75803) * openssl#32427 "Backport openssl#32256 openssl 4.0 to 3.0" Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Bob Beck <[email protected]> Merge-date: Tue Aug 25 11:38:33 2026 (cherry picked from commit 2f6e1a9)
Add validation to reject session ticket lifetime hints exceeding 604800 seconds (7 days) in TLS 1.3 connections, as required by RFC 8446 Section 4.6.1.
TLS 1.3 client validates the lifetime value received from the server.
Fixes #30808
Checklist