This is the Trace Id: 057ce9dd375e314bfbf61063911c6f40
Skip to main content Report Security Vulnerability Report Abuse Report Infringement Submission FAQs Reporting Vulnerability Security Update Guide Exploitability index Developer API documentation Frequently Asked Questions Technical Security Notifications Glossary Microsoft Bug Bounty Programs Microsoft Active Protections Program BlueHat Security Conference Researcher Recognition Program Windows Security Servicing Criteria Researcher Resource Center Microsoft Security Response Center Security Research & Defense BlueHat Conference Blog Security Researcher Acknowledgments Online Services Researcher Acknowledgments AI Safety Acknowledgements Security Researcher Leaderboard

Mitigation for Azure Storage SDK Client-Side Encryption Padding Oracle Vulnerability

Summary

Google informed Microsoft under Coordinated Vulnerability Disclosure (CVD) of a padding oracle vulnerability that may affect customers using Azure Storage SDK (for Python, .NET, Java) client-side encryption (CVE-2022-30187). To mitigate this vulnerability, we released a new General Availability (GA) version of the Azure Storage SDK client-side encryption feature (v2) on July 12, 2022.

Microsoft is not aware of any reported exploitation of this vulnerability affecting Azure services. We recommend impacted customers who require client-side encryption migrate to v2 to remain secure. For more details, read the Azure Storage blog or see the Additional References section below.

Customer Impact

As mentioned, applications using client-side encryption in Azure Storage SDK (for Python, .NET, Java) may be impacted and must be updated to remain as secure as possible. If you have questions about whether you are impacted, see the “How to verify if you use the client-side encryption feature” section in the Azure Storage blog.

For instructions on how to migrate to v2, see the “Action required to remediate this vulnerability” section in the Azure Storage blog. Migration requires: a) updating code to use client-side encryption v2, and b) migrating data previously encrypted with client-side encryption v1 to client-side encryption v2.

As an alternative to client-side encryption, impacted customers can investigate using Azure Storage server-side encryption for protecting data at rest. See the “Azure Storage server-side encryption” section in the Azure Storage blog for information about server-side encryption.

Technical Details

Azure Storage .NET, Java, and Python SDKs support encryption on the client with a customer-managed key maintained in Azure Key Vault or another key store. Previously released versions of the Azure Storage SDKs use cipher block chaining (CBC) mode for client-side encryption (referred to as “v1”). The v1 implementation of CBC block mode is vulnerable to a padding oracle attack, provided the attacker has write access to the blob and can observe decryption failures. Our investigation showed an attacker would need to perform a significant number of keystrokes per byte of plain text to decrypt blob contents. Again, Microsoft is not aware of any reported exploitation of this vulnerability affecting Azure services.

We would like to thank Google for reporting this vulnerability and working with the Microsoft Security Response Center (MSRC) under Coordinated Vulnerability Disclosure (CVD) to help keep Microsoft customers safe.

References

English (United States)
Your Privacy Choices Opt-Out Icon Your Privacy Choices
Consumer Health Privacy Sitemap Contact Microsoft Privacy Manage cookies Terms of use Trademarks Safety & eco Recycling About our ads