Skip to content
This repository has been archived by the owner on May 15, 2024. It is now read-only.

Update module golang.org/x/crypto to v0.17.0 [SECURITY] - autoclosed #141

Closed

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 9, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9 -> 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-2020-29652

A nil pointer dereference in the golang.org/x/crypto/ssh component through v0.0.0-20201203163018-be400aefbc4c for Go allows remote attackers to cause a denial of service against SSH servers. An attacker can craft an authentication request message for the gssapi-with-mic method which will cause NewServerConn to panic via a nil pointer dereference if ServerConfig.GSSAPIWithMICConfig is nil.

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: Enabled.

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
Copy link
Contributor Author

renovate bot commented Aug 9, 2023

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: go.sum
Command failed: go mod tidy
go: downloading gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f
go: downloading github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e
go: downloading github.com/kr/text v0.2.0
go: github.com/raba-jp/primus imports
	github.com/knqyf263/mockery/: malformed import path "github.com/knqyf263/mockery/": trailing slash

@renovate renovate bot changed the title Update golang.org/x/crypto digest to b4ddeed [SECURITY] Update golang.org/x/crypto digest to e984872 [SECURITY] Aug 10, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from ff7f55f to 55341f8 Compare August 10, 2023 23:17
@renovate renovate bot changed the title Update golang.org/x/crypto digest to e984872 [SECURITY] Update golang.org/x/crypto digest to b4ddeed [SECURITY] Aug 11, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 55341f8 to e2c8772 Compare August 11, 2023 02:10
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from e2c8772 to 95a3499 Compare September 5, 2023 16:53
@renovate renovate bot changed the title Update golang.org/x/crypto digest to b4ddeed [SECURITY] Update golang.org/x/crypto digest to 0d375be [SECURITY] Sep 5, 2023
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 0d375be [SECURITY] Update golang.org/x/crypto digest to d359caa [SECURITY] Sep 5, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 95a3499 to 93da343 Compare September 5, 2023 22:05
@renovate renovate bot changed the title Update golang.org/x/crypto digest to d359caa [SECURITY] Update golang.org/x/crypto digest to 0d375be [SECURITY] Sep 6, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch 2 times, most recently from 16b51b3 to 6625473 Compare September 6, 2023 06:08
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 0d375be [SECURITY] Update golang.org/x/crypto digest to d359caa [SECURITY] Sep 6, 2023
@renovate renovate bot changed the title Update golang.org/x/crypto digest to d359caa [SECURITY] Update golang.org/x/crypto digest to 0d375be [SECURITY] Sep 6, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 6625473 to 0ee5c59 Compare September 6, 2023 13:14
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 0d375be [SECURITY] Update golang.org/x/crypto digest to e90f1e1 [SECURITY] Sep 7, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 0ee5c59 to 4955f79 Compare September 7, 2023 16:56
@renovate renovate bot changed the title Update golang.org/x/crypto digest to e90f1e1 [SECURITY] Update golang.org/x/crypto digest to 0d375be [SECURITY] Sep 7, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 4955f79 to a768a1a Compare September 7, 2023 22:38
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 0d375be [SECURITY] Update golang.org/x/crypto digest to e90f1e1 [SECURITY] Sep 8, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from a768a1a to 1ea9174 Compare September 8, 2023 06:56
@renovate renovate bot changed the title Update golang.org/x/crypto digest to e90f1e1 [SECURITY] Update golang.org/x/crypto digest to 0d375be [SECURITY] Sep 8, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 1ea9174 to d31c7e9 Compare September 8, 2023 10:19
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 0d375be [SECURITY] Update golang.org/x/crypto digest to e90f1e1 [SECURITY] Sep 8, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from d31c7e9 to ab406e0 Compare September 8, 2023 12:07
@renovate renovate bot changed the title Update golang.org/x/crypto digest to e90f1e1 [SECURITY] Update golang.org/x/crypto digest to 0d375be [SECURITY] Sep 8, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from ab406e0 to e1ffba8 Compare September 8, 2023 23:38
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 0d375be [SECURITY] Update golang.org/x/crypto digest to e90f1e1 [SECURITY] Sep 9, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from e1ffba8 to af662b7 Compare September 9, 2023 06:04
@renovate renovate bot changed the title Update golang.org/x/crypto digest to e90f1e1 [SECURITY] Update golang.org/x/crypto digest to 0d375be [SECURITY] Sep 9, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from d9724c0 to acdecb5 Compare December 15, 2023 07:17
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 325b735 [SECURITY] Update golang.org/x/crypto digest to 4e5a261 [SECURITY] Dec 15, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from acdecb5 to 260baa8 Compare December 15, 2023 13:37
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 4e5a261 [SECURITY] Update golang.org/x/crypto digest to 325b735 [SECURITY] Dec 15, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 260baa8 to 03eff29 Compare December 15, 2023 16:30
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 325b735 [SECURITY] Update golang.org/x/crypto digest to 4e5a261 [SECURITY] Dec 15, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from 03eff29 to a7cb041 Compare December 15, 2023 22:24
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 4e5a261 [SECURITY] Update golang.org/x/crypto digest to 325b735 [SECURITY] Dec 15, 2023
@renovate renovate bot force-pushed the renovate/go-golang.org/x/crypto-vulnerability branch from a7cb041 to 01d5822 Compare December 16, 2023 12:18
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 325b735 [SECURITY] 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 01d5822 to cfa38a2 Compare December 16, 2023 16:33
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 4e5a261 [SECURITY] 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 cfa38a2 to efce28a Compare December 16, 2023 22:00
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 325b735 [SECURITY] 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 efce28a to 0d8c850 Compare December 17, 2023 01:02
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 4e5a261 [SECURITY] 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 0d8c850 to 2f78d78 Compare December 17, 2023 09:50
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 325b735 [SECURITY] 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 2f78d78 to 183c7cf Compare December 17, 2023 13:08
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 4e5a261 [SECURITY] 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 183c7cf to fdc3023 Compare December 17, 2023 18:58
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 325b735 [SECURITY] 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 fdc3023 to 8bc4c07 Compare December 18, 2023 02:11
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 4e5a261 [SECURITY] 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 8bc4c07 to 8f3f798 Compare December 18, 2023 22:44
@renovate renovate bot changed the title Update golang.org/x/crypto digest to 325b735 [SECURITY] Update module golang.org/x/crypto to v0.17.0 [SECURITY] Dec 18, 2023
@renovate renovate bot changed the title Update module golang.org/x/crypto to v0.17.0 [SECURITY] 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 10:14
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants