<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1462084720533760&amp;ev=PageView&amp;noscript=1">
Vulnerability Report

CVE-2020-8897 SSRF Vulnerability in AWS KMS and Encryption SDK

Virsec Security Research Lab Vulnerability Analysis

The Virsec Security Research Lab provides detailed analysis on recent and notable security vulnerabilities.

Vulnerability Summary

A weak robustness vulnerability exists in the AWS Encryption SDKs for Java, Python, C and JavaScript prior to versions 2.0.0. Due to the non-committing property of AES-GCM (and other AEAD ciphers such as AES-GCM-SIV or (X)ChaCha20Poly1305) used by the SDKs to encrypt messages, an attacker can craft a unique cyphertext which will decrypt to multiple different results, and becomes especially relevant in a multi-recipient setting.

A researcher, Thai Duong, at Google reported that the Amazon Encryption SDK prior to v2.0.0 suffered from the following issues:

  • Information leakage: an attacker can create ciphertexts that would leak the user’s AWS account ID, encryption context, user agent, and IP address upon decryption

  • Ciphertext forgery: an attacker can create ciphertexts that are accepted by other users

  • Robustness: an attacker can create ciphertexts that decrypt to different plaintexts for different users

Because the key ID is used to determine which decryption key to use, it cannot be meaningfully authenticated despite being under the attacker’s control. If the key ID is a URL indicating where to fetch the key, the attacker can replace it with their own URL, and learn side-channel information such as the timing and machines on which the decryption happens. In AWS, the key ID is a unique Amazon Resource Name. If an attacker were to capture a ciphertext from a user and replace its key ID with their own, the victim’s AWS account ID, encryption context, user agent, and IP address would be logged to the attacker’s AWS account whenever the victim attempted to decrypt the modified ciphertext.

Watch the video to learn more about this and other important vulnerabilities.

CVSS Score

The CVSS Base score of this vulnerability has not yet been assigned by NVD. Thai Duong believes the severity is low at 4.8.

Affected Version

AWS Encryption SDK (Java, Python, C, JavaScript) < 2.0.0; patch is available in SDK 2.0.0 or later.

Vulnerability Attribution

This was disclosed by Thai Duong of Google.

Risk Impact

No public exploit is available currently. The impact on confidentiality and integrity of this vulnerability is quite high. Since this vulnerability originated from AWS code, its ubiquity and reach is very large. Amazon has addressed this vulnerability using a patch. A word of caution to those who do not perform vulnerability analysis on the code provided by the cloud provider.

Virsec Security Platform (VSP) Support

Based on the description provided, this appears to be an SSRF vulnerability that VSP-Web can protect against. Should AWS agree, the attacker’s ability to redirect traffic to their command control center would be severely curtailed.

Reference Links

Download the full vulnerability report to learn more about this and other important vulnerabilities.