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

fix(deps): update module golang.org/x/crypto to v0.17.0 [security] - autoclosed #242

Closed

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Jul 20, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a -> v0.17.0 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2022-27191

The golang.org/x/crypto/ssh package before 0.0.0-20220314234659-1baeb1ce4c0b for Go allows an attacker to crash a server in certain circumstances involving AddHostKey.

CVE-2021-43565

The x/crypto/ssh package before 0.0.0-20211202192323-5770296d904e of golang.org/x/crypto allows an unauthenticated attacker to panic an SSH server. When using AES-GCM or ChaCha20Poly1305, consuming a malformed packet which contains an empty plaintext causes a panic.

CVE-2023-48795

Summary

Terrapin is a prefix truncation attack targeting the SSH protocol. More precisely, Terrapin breaks the integrity of SSH's secure channel. By carefully adjusting the sequence numbers during the handshake, an attacker can remove an arbitrary amount of messages sent by the client or server at the beginning of the secure channel without the client or server noticing it.

Mitigations

To mitigate this protocol vulnerability, OpenSSH suggested a so-called "strict kex" which alters the SSH handshake to ensure a Man-in-the-Middle attacker cannot introduce unauthenticated messages as well as convey sequence number manipulation across handshakes.

Warning: To take effect, both the client and server must support this countermeasure.

As a stop-gap measure, peers may also (temporarily) disable the affected algorithms and use unaffected alternatives like AES-GCM instead until patches are available.

Details

The SSH specifications of ChaCha20-Poly1305 (chacha20-poly1305@​openssh.com) and Encrypt-then-MAC (*-etm@openssh.com MACs) are vulnerable against an arbitrary prefix truncation attack (a.k.a. Terrapin attack). This allows for an extension negotiation downgrade by stripping the SSH_MSG_EXT_INFO sent after the first message after SSH_MSG_NEWKEYS, downgrading security, and disabling attack countermeasures in some versions of OpenSSH. When targeting Encrypt-then-MAC, this attack requires the use of a CBC cipher to be practically exploitable due to the internal workings of the cipher mode. Additionally, this novel attack technique can be used to exploit previously unexploitable implementation flaws in a Man-in-the-Middle scenario.

The attack works by an attacker injecting an arbitrary number of SSH_MSG_IGNORE messages during the initial key exchange and consequently removing the same number of messages just after the initial key exchange has concluded. This is possible due to missing authentication of the excess SSH_MSG_IGNORE messages and the fact that the implicit sequence numbers used within the SSH protocol are only checked after the initial key exchange.

In the case of ChaCha20-Poly1305, the attack is guaranteed to work on every connection as this cipher does not maintain an internal state other than the message's sequence number. In the case of Encrypt-Then-MAC, practical exploitation requires the use of a CBC cipher; while theoretical integrity is broken for all ciphers when using this mode, message processing will fail at the application layer for CTR and stream ciphers.

For more details see https://terrapin-attack.com.

Impact

This attack targets the specification of ChaCha20-Poly1305 (chacha20-poly1305@​openssh.com) and Encrypt-then-MAC (*-etm@openssh.com), which are widely adopted by well-known SSH implementations and can be considered de-facto standard. These algorithms can be practically exploited; however, in the case of Encrypt-Then-MAC, we additionally require the use of a CBC cipher. As a consequence, this attack works against all well-behaving SSH implementations supporting either of those algorithms and can be used to downgrade (but not fully strip) connection security in case SSH extension negotiation (RFC8308) is supported. The attack may also enable attackers to exploit certain implementation flaws in a man-in-the-middle (MitM) scenario.


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot requested a review from moul as a code owner July 20, 2023 21:21
@trafico-bot trafico-bot bot added the 🔍 Ready for Review Pull Request is not reviewed yet label Jul 20, 2023
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to e984872 [security] fix(deps): update golang.org/x/crypto digest to 12e1fcd [security] Jul 21, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 97cfc48 to 2fffcad Compare July 21, 2023 03:52
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 12e1fcd [security] fix(deps): update golang.org/x/crypto digest to e984872 [security] Jul 21, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 2fffcad to 48d6510 Compare July 21, 2023 09:16
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to e984872 [security] fix(deps): update golang.org/x/crypto digest to 12e1fcd [security] Jul 24, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 48d6510 to 6fffa2d Compare July 24, 2023 12:02
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 12e1fcd [security] fix(deps): update golang.org/x/crypto digest to e984872 [security] Jul 24, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 6fffa2d to f4c34e1 Compare July 24, 2023 15:42
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to e984872 [security] fix(deps): update golang.org/x/crypto digest to d08e19b [security] Jul 25, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from f4c34e1 to 9b9263a Compare July 25, 2023 20:36
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to d08e19b [security] fix(deps): update golang.org/x/crypto digest to e984872 [security] Jul 25, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 9b9263a to c00818c Compare July 25, 2023 22:38
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to e984872 [security] fix(deps): update golang.org/x/crypto digest to d08e19b [security] Jul 26, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from c00818c to 2f1c23a Compare July 26, 2023 07:23
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to d08e19b [security] fix(deps): update golang.org/x/crypto digest to e984872 [security] Jul 26, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 2f1c23a to a2decbe Compare July 26, 2023 09:11
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to e984872 [security] fix(deps): update golang.org/x/crypto digest to d08e19b [security] Jul 26, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from a2decbe to f9ba335 Compare July 26, 2023 16:27
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to d08e19b [security] fix(deps): update golang.org/x/crypto digest to e984872 [security] Jul 26, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from f9ba335 to 03ebf14 Compare July 26, 2023 20:14
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to e984872 [security] fix(deps): update golang.org/x/crypto digest to d08e19b [security] Jul 27, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 03ebf14 to aa19c3f Compare July 27, 2023 20:18
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to d08e19b [security] fix(deps): update golang.org/x/crypto digest to e984872 [security] Jul 27, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from aa19c3f to 184c65c Compare July 27, 2023 21:39
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to e984872 [security] fix(deps): update golang.org/x/crypto digest to d08e19b [security] Jul 28, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 184c65c to d104fda Compare July 28, 2023 19:10
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to d08e19b [security] fix(deps): update golang.org/x/crypto digest to e984872 [security] Jul 28, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from d104fda to 932d93e Compare July 28, 2023 22:17
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 3cbd601 to 9f8d4e3 Compare December 15, 2023 19:22
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 4e5a261 [security] fix(deps): update golang.org/x/crypto digest to 325b735 [security] Dec 16, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 9f8d4e3 to 22b1cd9 Compare December 16, 2023 02:18
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 325b735 [security] fix(deps): update golang.org/x/crypto digest to 4e5a261 [security] Dec 16, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 22b1cd9 to 25814ca Compare December 16, 2023 15:50
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 4e5a261 [security] fix(deps): update golang.org/x/crypto digest to 325b735 [security] Dec 16, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 25814ca to c08ec83 Compare December 16, 2023 18:29
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 325b735 [security] fix(deps): update golang.org/x/crypto digest to 4e5a261 [security] Dec 16, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from c08ec83 to 6c101e8 Compare December 16, 2023 21:09
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 4e5a261 [security] fix(deps): update golang.org/x/crypto digest to 325b735 [security] Dec 17, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 6c101e8 to 4036b67 Compare December 17, 2023 01:34
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 325b735 [security] fix(deps): update golang.org/x/crypto digest to 4e5a261 [security] Dec 17, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 4036b67 to 65a56b8 Compare December 17, 2023 03:35
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 4e5a261 [security] fix(deps): update golang.org/x/crypto digest to 325b735 [security] Dec 17, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 65a56b8 to 27b89b3 Compare December 17, 2023 09:29
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 325b735 [security] fix(deps): update golang.org/x/crypto digest to 4e5a261 [security] Dec 17, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 27b89b3 to caf974e Compare December 17, 2023 19:27
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 4e5a261 [security] fix(deps): update golang.org/x/crypto digest to 325b735 [security] Dec 18, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from caf974e to 0efc205 Compare December 18, 2023 01:55
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 325b735 [security] fix(deps): update golang.org/x/crypto digest to 4e5a261 [security] Dec 18, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch 2 times, most recently from b9a786d to a3c52af Compare December 18, 2023 12:57
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 4e5a261 [security] fix(deps): update golang.org/x/crypto digest to 325b735 [security] Dec 18, 2023
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 325b735 [security] fix(deps): update golang.org/x/crypto digest to 9d2ee97 [security] Dec 18, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from a3c52af to 1d19dce Compare December 18, 2023 19:53
@renovate renovate bot changed the title fix(deps): update golang.org/x/crypto digest to 9d2ee97 [security] fix(deps): update module golang.org/x/crypto to v0.17.0 [security] Dec 19, 2023
@renovate renovate bot changed the title fix(deps): update module golang.org/x/crypto to v0.17.0 [security] fix(deps): update module golang.org/x/crypto to v0.17.0 [security] - autoclosed Jan 28, 2024
@renovate renovate bot closed this Jan 28, 2024
@renovate renovate bot deleted the renovate/go-golang.org/x/crypto-vulnerability branch January 28, 2024 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔍 Ready for Review Pull Request is not reviewed yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants