-
Notifications
You must be signed in to change notification settings - Fork 17.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
crypto/tls: make 3DES opt-in #66214
Comments
ECDHE-RSA-DES-CBC3-SHA
support
This comment was marked as outdated.
This comment was marked as outdated.
After a quick read at the code and CVE-2016-2183 I think both: go/src/crypto/tls/cipher_suites.go Lines 288 to 290 in 065c5d2
are concerned with the attack, not just ECDHE-RSA-DES-CBC3-SHA .
We don't like removing features, for example RC4 is still supported opt-in support (both for go servers and go clients). cc @FiloSottile @rolandshoemaker @golang/security as per https://dev.golang.org/owners |
ECDHE-RSA-DES-CBC3-SHA
support *_WITH_3DES_EDE_CBC_SHA
**opt-in**
*_WITH_3DES_EDE_CBC_SHA
**opt-in***_WITH_3DES_EDE_CBC_SHA
opt-in
Ah good catch, that would be correct and opt-in sounds perfect. |
I read through those both, still slightly confused if the subsequent stages are reflected in current planning? I'm not familiar enough with how planning is done for Golang to check. But #45428 was part of the motivation for this issue, 3 years after and 3DES is still kicking around. |
CC @golang/security |
Change https://go.dev/cl/570416 mentions this issue: |
Wanted to bump this, is there anything I need to do in the time being? |
*_WITH_3DES_EDE_CBC_SHA
opt-in
This proposal has been added to the active column of the proposals project |
Awesome, let me know if there's anything more that is needed here. |
Have all remaining concerns about this proposal been addressed? The proposal is to disable 3DES by default but re-enable it when GODEBUG=tls3des=1 is set. There’s no new API to control it, only the GODEBUG, which we expect very few people to use. |
Based on the discussion above, this proposal seems like a likely accept. The proposal is to disable 3DES by default but re-enable it when GODEBUG=tls3des=1 is set. There’s no new API to control it, only the GODEBUG, which we expect very few people to use. |
Change https://go.dev/cl/587295 mentions this issue: |
Reopening to get to the Accepted state. |
No change in consensus, so accepted. 🎉 The proposal is to disable 3DES by default but re-enable it when GODEBUG=tls3des=1 is set. There’s no new API to control it, only the GODEBUG, which we expect very few people to use. |
CL 587295 implemented this, documented the GODEBUG setting and added a release note. |
Proposal
I propose the removal of 3DES support for TLS, the cipher has been deprecated by NIST since 2017 and Microsoft since 2018 .
This is not an urgent issue but goes a long way to helping Golang meet a default level of security that is up to date with modern standards and would even pass most audits. Specifically
ECDHE-RSA-DES-CBC3-SHA
is the last remaining cipher in golang that is part of the SWEET32 vulnerability as of v1.22.1.The text was updated successfully, but these errors were encountered: