Critical CVSS 9.8 EPSS 0.09516 🔬 Patch diffed 2025-08 archive

Executive Summary

Untrusted pointer dereference in Microsoft Graphics Component allows an unauthorized attacker to execute code over a network.

Overview

9.8
CVSS CRITICAL
Critical
MS Severity
Not Exploited
MS Exploit Status
Less Likely
MS Exploit Likelihood
Category Remote Code Execution
Released Aug 12 2025
Last Updated Aug 12 2025
Publicly Disclosed No
CISA KEV Not Listed
Known Exploits None Known
EPSS Score 0.09516 — 0.95003 percentile
NVD CVSS 9.8 CRITICAL — matches MSRC

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C
ATTACK VECTOR
Network
ATTACK COMPLEXITY
Low
PRIVILEGES REQUIRED
None
USER INTERACTION
None
SCOPE
Unchanged
CONFIDENTIALITY
High
INTEGRITY
High
AVAILABILITY
High
EXPLOIT CODE MATURITY
Unproven
REMEDIATION LEVEL
Official Fix
REPORT CONFIDENCE
Confirmed
Temporal Score: 8.5

EPSS Score

0.09516
probability of exploitation in the next 30 days
0.95003 percentile - updated 2026-08-14
View on FIRST.org

Patch Diff

ghidriff · windowscodecs.dll (KB5063878)

Patch diff 10.0.26100.4768 -> 10.0.26100.4946 (WIC/JPEG XL rawtranscode uninitialized function pointers)

Pre-patch version 10.0.26100.4768
Post-patch version 10.0.26100.4946
Function Address Change Note
wil::details::EnsureSubscribedToFeatureConfigurationChanges 180134990 refcount, calling similarity 1.0
wil::details::WilApi_GetFeatureEnabledState 1801388a8 refcount, calling similarity 1.0
wil::details::ReportUsageToService 1800c470c refcount, calling similarity 1.0
wil::details_abi::heap_buffer::push_back 180138da8 refcount, calling similarity 1.0
API-MS-WIN-CORE-SYNCH-L1-1-0.DLL::AcquireSRWLockExclusive EXTERNAL:0000004c refcount, calling similarity 1.0
rawtransencode_master_selection 180188a8c -> 180188ddc code, length, address, called similarity 0.45
wil::details::unique_storage<wil::details::resource_policy<_RTL_SRWLOCK*___ptr64,void_(__cdecl*)(_RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),wistd::integral_constant<unsigned___int64,1>,_RTL_SRWLOCK*___ptr64,_RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_>::~unique_storage<wil::details::resource_policy<_RTL_SRWLOCK*___ptr64,void_(__cdecl*)(_RTL_SRWLOCK*___ptr64),&void___cdecl_ReleaseSRWLockExclusive(struct__RTL_SRWLOCK*___ptr64),wistd::integral_constant<unsigned___int64,1>,_RTL_SRWLOCK*___ptr64,_RTL_SRWLOCK*___ptr64,0,std::nullptr_t>_> 180133650 refcount, calling similarity 1.0
rawtranscode_compress_output 180098e10 refcount similarity 1.0
View full diff report View RCA report Download PoC

Attack Path

Uninitialised function pointers in the WIC JPEG raw-transcode path, reached by re-encoding a 12- or 16-bit image

Attack path for CVE-2025-50165 Uninitialised function pointers in the WIC JPEG raw-transcode path, reached by re-encoding a 12- or 16-bit image 01 — ENTRY Victim opens or a service re-encodes an attacker-supplied JPEG windowscodecs.dll is the Windows Imaging Component, reached by Explorer thumbnails, preview handlers and any application using WIC. No privileges required. 02 — CONTROLLED INPUT The image declares 12-bit or 16-bit data precision WIC embeds libjpeg-turbo 3.0.2; the high-precision paths use separate compress_data_12 / compress_data_16 entry points. 03 — PATH Re-encoding drives the raw-transcode coefficient controller setup jinit_c_rawtranscode_coef_controller_turbo runs, then jpeg_finish_compress dispatches through the controller's function pointer. 04 — MISSING CHECK The controller setup never initialises compress_data_12 / compress_data_16 jpeg_finish_compress dereferences a pointer that was left as whatever the allocator returned - heap debug patterns such as 0xBAADF00D. 05 — PRIMITIVE Indirect call through an uninitialised heap-resident function pointer An attacker who shapes the heap via spraying places controlled data where the pointer is read from, converting the uninitialised dispatch into arbitrary code execution. Rated RCE.

Derived from the patch delta: the checks added by the vendor identify which fields crossed a trust boundary unvalidated. Reachability and privilege are taken from the call chain in the RCA report.

Known Exploits

Acknowledgments