Skip to content
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

proposal: crypto/tls: make 3DES opt-in #66214

Open
McFacePunch opened this issue Mar 9, 2024 · 10 comments · May be fixed by #66235
Open

proposal: crypto/tls: make 3DES opt-in #66214

McFacePunch opened this issue Mar 9, 2024 · 10 comments · May be fixed by #66235
Labels
Proposal Proposal-Crypto Proposal related to crypto packages or other security issues
Milestone

Comments

@McFacePunch
Copy link

McFacePunch commented Mar 9, 2024

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.

@McFacePunch McFacePunch added LanguageChange Proposal v2 A language change or incompatible library change labels Mar 9, 2024
@gopherbot gopherbot added this to the Proposal milestone Mar 9, 2024
@Jorropo Jorropo changed the title proposal: Go 2: proposal title proposal: crypto/tls: remove ECDHE-RSA-DES-CBC3-SHA support Mar 9, 2024
@Jorropo Jorropo added Proposal-Crypto Proposal related to crypto packages or other security issues and removed LanguageChange v2 A language change or incompatible library change labels Mar 9, 2024
@Jorropo

This comment was marked as outdated.

@Jorropo
Copy link
Member

Jorropo commented Mar 9, 2024

After a quick read at the code and CVE-2016-2183 I think both:

// 3DES
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA,

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).
Should probably do the same.


cc @FiloSottile @rolandshoemaker @golang/security as per https://dev.golang.org/owners

@Jorropo Jorropo added the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Mar 9, 2024
@gopherbot gopherbot removed the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Mar 9, 2024
@Jorropo Jorropo changed the title proposal: crypto/tls: remove ECDHE-RSA-DES-CBC3-SHA support proposal: crypto/tls: make *_WITH_3DES_EDE_CBC_SHA **opt-in** Mar 9, 2024
@Jorropo Jorropo changed the title proposal: crypto/tls: make *_WITH_3DES_EDE_CBC_SHA **opt-in** proposal: crypto/tls: make *_WITH_3DES_EDE_CBC_SHA opt-in Mar 9, 2024
@McFacePunch
Copy link
Author

McFacePunch commented Mar 9, 2024

Ah good catch, that would be correct and opt-in sounds perfect.

@seankhliao
Copy link
Member

i think #45428 suggested turning 3DES off by default for stage 2 which was #62459

@McFacePunch
Copy link
Author

McFacePunch commented Mar 9, 2024

i think #45428 suggested turning 3DES off by default for stage 2 which was #62459

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.

@ianlancetaylor
Copy link
Contributor

CC @golang/security

@McFacePunch McFacePunch linked a pull request Mar 10, 2024 that will close this issue
@gopherbot
Copy link

Change https://go.dev/cl/570416 mentions this issue: crypto/tls: disable 3DES by default

@McFacePunch
Copy link
Author

Wanted to bump this, is there anything I need to do in the time being?

@rsc rsc changed the title proposal: crypto/tls: make *_WITH_3DES_EDE_CBC_SHA opt-in proposal: crypto/tls: make 3DES opt-in Apr 24, 2024
@rsc
Copy link
Contributor

rsc commented Apr 24, 2024

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

@McFacePunch
Copy link
Author

Awesome, let me know if there's anything more that is needed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Proposal Proposal-Crypto Proposal related to crypto packages or other security issues
Projects
Status: Active
Development

Successfully merging a pull request may close this issue.

6 participants