Microsoft Security Advisory CVE-2024-38095 | .NET Denial of Service Vulnerability
Executive Summary
Microsoft is releasing this security advisory to provide information about a vulnerability in PowerShell 7.2 and PowerShell 7.4. This advisory also provides guidance on what developers can do to update their applications to remove this vulnerability.
A Vulnerability exists when System.Formats.Asn1 in .NET parses an X.509 certificate or collection of certificates, a malicious certificate can result in excessive CPU consumption on all platforms result in Denial of Service.
System administrators are advised to update PowerShell 7 to an unaffected version (see affected software).
If you have found a potential security issue in PowerShell 7,
please email details to secure@microsoft.com.
Support
You can ask questions about this issue on GitHub in the PowerShell organization.
This is located at https://github.com/PowerShell/.
The Announcements repo (https://github.com/PowerShell/Announcements)
will contain this bulletin as an issue and will include a link to a discussion issue where you can ask questions.
Disclaimer
The information provided in this advisory is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.
What if the update breaks my script or module?
You can uninstall the newer version of PowerShell 7 and install the previous version of PowerShell 7.
This should be treated as a temporary measure.
Therefore, the script or module should be updated to work with the patched version of PowerShell 7.
Acknowledgments
Microsoft recognizes the efforts of those in the security community who help us protect customers through coordinated vulnerability disclosure.
Microsoft Security Advisory CVE-2024-38095 | .NET Denial of Service Vulnerability
Executive Summary
Microsoft is releasing this security advisory to provide information about a vulnerability in PowerShell 7.2 and PowerShell 7.4. This advisory also provides guidance on what developers can do to update their applications to remove this vulnerability.
A Vulnerability exists when System.Formats.Asn1 in .NET parses an X.509 certificate or collection of certificates, a malicious certificate can result in excessive CPU consumption on all platforms result in Denial of Service.
System administrators are advised to update PowerShell 7 to an unaffected version (see affected software).
Discussion
Please open a support question to discuss the PowerShell aspects of this advisory. Please use https://github.com/dotnet/runtime/issues/104622 for discussion of the .NET aspects this advisory.
Affected Software
The vulnerability affects PowerShell 7 prior to the following versions:
The vulnerability affects PowerShell when running on the following operating systems:
Advisory FAQ
How do I know if I am affected?
If all of the following are true:
pwsh -v
, then, check the version in the table in Affected Software to see if your version of PowerShell 7 is affected.How do I update to an unaffected version?
Follow the instructions at Installing PowerShell 7 to install the latest version of PowerShell 7.
Updating PowerShell 7 using Microsoft Update
Updating PowerShell 7 using Microsoft Update
Other Information
Reporting Security Issues
If you have found a potential security issue in PowerShell 7, please email details to secure@microsoft.com.
Support
You can ask questions about this issue on GitHub in the PowerShell organization. This is located at https://github.com/PowerShell/. The Announcements repo (https://github.com/PowerShell/Announcements) will contain this bulletin as an issue and will include a link to a discussion issue where you can ask questions.
Disclaimer
The information provided in this advisory is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.
What if the update breaks my script or module?
You can uninstall the newer version of PowerShell 7 and install the previous version of PowerShell 7. This should be treated as a temporary measure. Therefore, the script or module should be updated to work with the patched version of PowerShell 7.
Acknowledgments
Microsoft recognizes the efforts of those in the security community who help us protect customers through coordinated vulnerability disclosure.
See acknowledgments for more information.
External Links
CVE-2024-38095
Revisions
V1.0 (July 23, 2024): Advisory published.
Version 1.0 Last Updated 2024-07-23