CVE-2022-30187: Azure Storage Library Information Disclosure Vulnerability

Published Jul 12, 2022
·
Updated

Summary

The Azure Storage Encryption library in Java and other languages is vulnerable to a CBC Padding Oracle attack, similar to CVE-2020-8911. The library is not vulnerable to the equivalent of CVE-2020-8912, but only because it currently only supports AES-CBC as encryption mode.

Severity

Moderate - The vulnerability poses insider risks/privilege escalation risks, circumventing controls for stored data.

Further Analysis The Java Azure Blob Storage Encryption SDK is impacted by an issue that can result in loss of confidentiality and message forgery. The attack requires write access to the container in question, and that the attacker has access to an endpoint that reveals decryption failures (without revealing the plaintext) and that when encrypting the CBC option was chosen as content cipher.

This advisory describes the plaintext revealing vulnerabilities in the Java Azure Blob Storage Encryption SDK, with a similar issue in the other blob storage SDKs being present as well.

In the current version of the Azure Blob Storage crypto SDK, the only algorithm option that allows users to encrypt files is to AES-CBC, without computing a MAC on the data.

This exposes a padding oracle vulnerability: If the attacker has write access to the blob container bucket and can observe whether or not an endpoint with access to the key can decrypt a file (without observing the file contents that the endpoint learns in the process), they can reconstruct the plaintext with (on average) 128length(plaintext) queries to the endpoint, by exploiting CBC's ability to manipulate the bytes of the next block and PKCS5 padding errors.

Timeline Date reported: March 29 2022 Date preview: June 16 2022 Date GA: July 11 2022 Date disclosed: July 17 2022

Other sources

Azure Storage Library Information Disclosure Vulnerability

Microsoft

Affected Software

16 affected componentsFixes available
pip/azure-storage-blob<12.13.0
12.13.0
pip/azure-storage-queue<12.4.0
12.4.0
maven/com.azure:azure-storage-blob<12.18.0
12.18.0
nuget/Azure.Storage.Blobs<12.13.0
12.13.0
nuget/Azure.Storage.Queues<12.11.0
12.11.0
Microsoft Azure Storage Blobs client library for Python
Microsoft Azure Storage Queues client library for Python
Microsoft Azure Storage Blobs client library for Java
Microsoft Azure Storage Blobs client library for .NET
Microsoft Azure Storage Blobs .net<12.13.0
Microsoft Azure Storage Blobs Python<12.13.0
Microsoft Azure Storage Blobs Java<12.18.0
Microsoft Azure Storage Queue Python<12.4.0
Microsoft Azure Storage Queue .net<12.11.0
Microsoft Azure Storage Queues client library for .NET
IBM IBM® Db2® on Cloud Pak for Data and Db2 Warehouse on Cloud Pak for Data<=v4.8 v5.0v5.1v5.2v5.3

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade pip/azure-storage-blob to a version that resolves this vulnerability.

    Fixed in 12.13.0
  2. Upgrade

    Upgrade pip/azure-storage-queue to a version that resolves this vulnerability.

    Fixed in 12.4.0
  3. Upgrade

    Upgrade maven/com.azure:azure-storage-blob to a version that resolves this vulnerability.

    Fixed in 12.18.0
  4. Upgrade

    Upgrade nuget/Azure.Storage.Blobs to a version that resolves this vulnerability.

    Fixed in 12.13.0
  5. Upgrade

    Upgrade nuget/Azure.Storage.Queues to a version that resolves this vulnerability.

    Fixed in 12.11.0
  6. Compensating control

    Restrict write access to affected blob containers: remove anonymous or broad write permissions and limit container write/upload privileges to specific trusted principals/service accounts to prevent an attacker from placing blobs needed for a padding-oracle attack.

  7. Compensating control

    Restrict network and API access to endpoints that can decrypt blobs (endpoints with access to keys). Place such endpoints behind firewalls or private networks, use IP allowlists or VNET/service endpoint restrictions, and ensure only trusted callers can invoke decryption to prevent attackers from observing decryption-failure responses.

  8. Compensating control

    Log and monitor decryption failure responses and anomalous volume of decryption attempts: enable auditing/monitoring on services handling decryption, alert on high rates of decryption failures or repeated attempts from a single principal or IP to detect and block padding-oracle exploitation attempts.

Event History

Jul 12, 2022
CVE Published
via Microsoft·07:00 AM
Data Sourced
via Microsoft·07:00 AM
DescriptionSeverityWeakness
CVE Published
via MITRE·10:37 PM
Data Sourced
via MITRE·10:37 PM
DescriptionSeverity
Jul 13, 2022
Advisory Published
via GitHub·12:00 AM
Jun 19, 2026
Data Sourced
via IBM·12:00 AM
DescriptionAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the CVE ID of this vulnerability?

The CVE ID of this vulnerability is CVE-2022-30187.

2

What is the title of this vulnerability?

The title of this vulnerability is Azure Storage Library Information Disclosure Vulnerability.

3

What is the description of this vulnerability?

This vulnerability in Microsoft Azure Storage Library allows a local authenticated attacker to bypass security restrictions, potentially impacting confidentiality.

4

What is the affected software?

The affected software includes Microsoft Azure Storage Blobs, Azure Storage Queues client library for Python, Azure Storage Blobs client library for Java, Microsoft Azure Storage Queue, and Azure Storage Blobs client library for .NET.

5

What is the severity of this vulnerability?

The severity of this vulnerability is high with a CVSS score of 4.7.

6

How can I fix this vulnerability?

To fix this vulnerability, update to the latest versions of the affected software. Please refer to the provided links in the references for patch and update information.

7

What is the Common Weakness Enumeration (CWE) ID for this vulnerability?

The CWE ID for this vulnerability is CWE-327.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203