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

[PL-133007] implement the D(HE)at Attack mitigation #1162

Merged
merged 1 commit into from
Nov 27, 2024

Conversation

PhilTaken
Copy link
Member

@PhilTaken PhilTaken commented Nov 12, 2024

mitigate CVE-2024-41996

Since restricting encryption curves might impact compatibility with various clients, this was made an option for now with the default being on so that it can be turned off selectively.

@flyingcircusio/release-managers

Release process

  • Created changelog entry using ./changelog.sh

PR release workflow (internal)

  • PR has internal ticket
  • internal issue ID (PL-…) part of branch name
  • internal issue ID mentioned in PR description text
  • ticket is on Platform agile board
  • ticket state set to Pull request ready
  • if ticket is more urgent than within the next few days, directly contact a member of the Platform team

Design notes

  • Provide a feature toggle if the change might need to be adjusted/reverted quickly depending on context. Consider whether the default should be on or off. Example: rate limiting.
  • All customer-facing features and (NixOS) options need to be discoverable from documentation. Add or update relevant documentation such that hosted and guided customers can understand it as well.

Security implications

without the patch

λ ❱ dheat --protocol [ ... ]
2024-11-12T11:01:34+0100 Server offers protocol version TLS 1.2
2024-11-12T11:01:34+0100 Server offers protocol version TLS 1.3 supported
### Software

    * Version: 0.4.3

### Arguments

    * Thread num: 1
    * Protocol: TLS 1.3
    * Address: [ ... ]

### Service

    * IP: [ ... ]
    * Port: 443
    * Key size: 8192
    * Algorithm: TLS_AES_128_GCM_SHA256
^C⏎

with the patch

λ ❱ dheat --protocol tls [ ... ]
2024-11-12T10:59:37+0100 Server offers protocol version TLS 1.2
2024-11-12T10:59:37+0100 Server offers protocol version TLS 1.3 supported
Diffie-Hellman ephemeral (DHE) key exchange (with the given key size) not supported by the server; uri="[ ... ]", protocol="tls"

see also the internal ticket for a more detailed writeup

@PhilTaken PhilTaken requested a review from ctheune November 12, 2024 10:21

### NixOS XX.XX platform

- restrict the Diffie-Hellman elliptic curves offered by Nginx to mitigate CVE-2024-41996
Copy link
Member

Choose a reason for hiding this comment

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

Please include which exact curve is disabled, such that customers can determine whether they're affected or not from changelog information alone.

@PhilTaken PhilTaken force-pushed the phil/PL-133007_nginx-dheat-mitigation branch from a9eeb51 to 87e1ec4 Compare November 13, 2024 08:52
Copy link
Member

@ctheune ctheune left a comment

Choose a reason for hiding this comment

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

Looks good in general, but I'd like to see a changelog entry that's more suitable for people not as deep into the context as we are. ;)

@PhilTaken PhilTaken force-pushed the phil/PL-133007_nginx-dheat-mitigation branch from 87e1ec4 to 1fb65b8 Compare November 15, 2024 10:24
@PhilTaken
Copy link
Member Author

I hope this wording makes more sense to non-technical people. Cryptography has a tendency of being quite tough to explain IME

Since restricting encryption curves might impact compatibility with various clients,
this was made an option for now with the default being on so that it can be turned off
selectively.
@osnyx osnyx force-pushed the phil/PL-133007_nginx-dheat-mitigation branch from 1fb65b8 to 5e96656 Compare November 27, 2024 18:32
@osnyx
Copy link
Member

osnyx commented Nov 27, 2024

rebased onto fc-24.05-dev, hoping this fixes the gitlab test.

@osnyx osnyx dismissed ctheune’s stale review November 27, 2024 21:47

Suggested changes have been implemented.

@osnyx osnyx merged commit 008e8be into fc-24.05-dev Nov 27, 2024
2 checks passed
@osnyx osnyx deleted the phil/PL-133007_nginx-dheat-mitigation branch November 27, 2024 21:47
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.

3 participants