GMS-2023-171: Security bug in ConvertToSinglePlane when used with untrusted content from the DDS loader
Impact
A memory overwrite bug was reported by a security researcher in the ConvertToSinglePlane method via the texconv command-line tool when given an invalid height for planar video textures such as NV12. This can be a potential security bug for any clients of the library who follow the same pattern.
This issue does not impact use of the DDS texture loader itself, only when combined with ConvertToSinglePlane
for converting multi-planar video formats. All other functions in the library fail immediately if given images in planar formats.
Patches
The fix to the specific area as well as general hardening can be found in this PR and will be included in the January 2023 or later release of DirectXTex.
Workarounds
If your code makes use of ConvertToSinglePlane, you can validate that the width & height alignment requirements are met for the input image before calling the function.
References
Detect and mitigate GMS-2023-171 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →