Use of a Broken or Risky Cryptographic Algorithm Affecting github.com/aws/aws-sdk-go/service/s3/s3crypto package, versions <1.33.0


Severity

Recommended
0.0
medium
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of concept
EPSS
0.04% (15th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Use of a Broken or Risky Cryptographic Algorithm vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-GOLANG-GITHUBCOMAWSAWSSDKGOSERVICES3S3CRYPTO-598252
  • published12 Aug 2020
  • disclosed12 Aug 2020
  • creditSophie Schmieg

Introduced: 12 Aug 2020

CVE-2020-8912  (opens in a new tab)
CWE-327  (opens in a new tab)

How to fix?

Upgrade github.com/aws/aws-sdk-go/service/s3/s3crypto to version 1.33.0 or higher.

Overview

github.com/aws/aws-sdk-go/service/s3/s3crypto is an AWS SDK for the Go programming language.

Affected versions of this package are vulnerable to Use of a Broken or Risky Cryptographic Algorithm. A vulnerability in the in-band key negotiation exists in the AWS S3 Crypto SDK for GoLang versions prior to V2. An attacker with write access to the targeted bucket can change the encryption algorithm of an object in the bucket, which can then allow them to change AES-GCM to AES-CTR. Using this in combination with a decryption oracle can reveal the authentication key used by AES-GCM as decrypting the GMAC tag leaves the authentication key recoverable as an algebraic equation. It is recommended to update your SDK to V2 or later, and re-encrypt your files.

CVSS Scores

version 3.1