Skip to content

Security bug in ConvertToSinglePlane when used with untrusted content from the DDS loader

Moderate severity GitHub Reviewed Published Jan 25, 2023 in microsoft/DirectXTex • Updated Feb 8, 2023

Package

nuget directxtex_desktop_2019 (NuGet)

Affected versions

< 2023.1.31.1

Patched versions

2023.1.31.1
nuget directxtex_desktop_win10 (NuGet)
< 2023.1.31.1
2023.1.31.1
nuget directxtex_uwp (NuGet)
< 2023.1.31.1
2023.1.31.1

Description

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 This bug has been fixed in the January 31, 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

@walbourn walbourn published to microsoft/DirectXTex Jan 25, 2023
Published to the GitHub Advisory Database Jan 26, 2023
Reviewed Jan 26, 2023
Last updated Feb 8, 2023

Severity

Moderate
6.1
/ 10

CVSS base metrics

Attack vector
Local
Attack complexity
Low
Privileges required
None
User interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
Low
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:L

Weaknesses

No CWEs

CVE ID

No known CVE

GHSA ID

GHSA-3w9w-9833-gcpv

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.