Use of a Broken or Risky Cryptographic Algorithm Affecting github.com/aws/aws-sdk-go/service/s3/s3crypto package, versions >=0.0.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.05% (21st 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-598253
  • published12 Aug 2020
  • disclosed12 Aug 2020
  • creditSophie Schmieg

Introduced: 12 Aug 2020

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

How to fix?

There is no fixed version for github.com/aws/aws-sdk-go/service/s3/s3crypto.

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 in the AWS S3 Crypto SDK for GoLang. The SDK allows users to encrypt files with AES-CBC without computing a Message Authentication Code (MAC), which then allows an attacker who has write access to the target's S3 bucket and can observe whether or not an endpoint with access to the key can decrypt a file, they can reconstruct the plaintext with (on average) 128*length (plaintext) queries to the endpoint, by exploiting CBC's ability to manipulate the bytes of the next block and PKCS5 padding errors.

Note: Version 1.33.0 introduces two new functions: decryption_client_v2 and encryption_client_v2, which deprecates the vulnerable AES-CBC component. However, the old vulnerable functions can still be used in all versions, and using these clients still allows for the vulnerability to be exploited using the AES-CBC cipher. As a result, there's no fixed version for this vulnerability.

Mitigation

Users are advised to use decryption_client_v2 and encryption_client_v2 introduced in version 1.33.0 which fixes the vulnerability.

CVSS Scores

version 3.1