Critical CVSS 7.8 EPSS 0.00505 🔬 Patch diffed 2026-07 archive

Executive Summary

Heap-based buffer overflow in Windows Media allows an unauthorized attacker to execute code locally.

Overview

7.8
CVSS HIGH
Critical
MS Severity
Not Exploited
MS Exploit Status
More Likely
MS Exploit Likelihood
Category Remote Code Execution
Released Jul 14 2026
Last Updated Jul 14 2026
Publicly Disclosed No
CISA KEV Not Listed
Known Exploits None Known
EPSS Score 0.00505 — 0.40727 percentile
NVD CVSS 7.8 HIGH — matches MSRC

CVSS Vector

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

EPSS Score

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

Affected Products

23 affected products
Product KB Article Severity Impact Restart Required
Windows 10 Version 1607 for 32-bit Systems 5099535 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 1607 for x64-based Systems 5099535 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 1809 for 32-bit Systems 5099538 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 1809 for x64-based Systems 5099538 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 21H2 for 32-bit Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 21H2 for ARM64-based Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 21H2 for x64-based Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 22H2 for 32-bit Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 22H2 for ARM64-based Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 22H2 for x64-based Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 24H2 for ARM64-based Systems 5101650 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 24H2 for x64-based Systems 5101650 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 25H2 for ARM64-based Systems 5101650 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 25H2 for x64-based Systems 5101650 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 26H1 for ARM64-based Systems 5101649 (Security Update) Critical Remote Code Execution Yes
Windows 11 version 26H1 for x64-based Systems 5101649 (Security Update) Critical Remote Code Execution Yes
Windows Server 2016 5099535 (Security Update) Critical Remote Code Execution Yes
Windows Server 2016 (Server Core installation) 5099535 (Security Update) Critical Remote Code Execution Yes
Windows Server 2019 5099538 (Security Update) Critical Remote Code Execution Yes
Windows Server 2019 (Server Core installation) 5099538 (Security Update) Critical Remote Code Execution Yes
Windows Server 2022 5099540 (Security Update) Critical Remote Code Execution Yes
Windows Server 2025 5099536 (Security Update) Critical Remote Code Execution Yes
Windows Server 2025 (Server Core installation) 5099536 (Security Update) Critical Remote Code Execution Yes

Patches

7 patches
Article Type Restart
5099535 Security Update Yes
5099538 Security Update Yes
5099539 Security Update Yes
5101650 Security Update Yes
5101649 Security Update Yes
5099540 Security Update Yes
5099536 Security Update Yes

Patch Diff

ghidriff · mfaudiocnv.dll (KB5099535)

Integer overflow leading to a heap-based buffer overflow (CWE-122) in the Windows Media Foundation audio converter mfaudiocnv.dll (DTS audio MFT, CDTSMFTDataHandler), local arbitrary code execution when a user opens a crafted media file (Critical, RCE, AV:L, UI:R, CVSS 7.8, Exploitation More Likely). When producing output samples, _CreateNewOutputBuffer and _AppendPacketToOutputBuffer compute the required output-buffer size by adding a fixed header size to the payload length (payload + 8, payload + 4, payload + 0x13 aligned) and compare it against the buffer capacity. PRE: the size was computed in 32-bit and compared (unsigned) to capacity with no overflow check, so a crafted stream whose payload length is near 0xFFFFFFFF wraps the addition to a small value that passes the capacity check while the real copy overruns the buffer. Because a user need only open/play a crafted audio file, it is an ACE primitive. Diff of mfaudiocnv.dll 10.0.14393.4169 -> .9339 (Jul 14 2026, KB5099535, Server 2016) confirms the fix: gated via the velocity EvaluateCurrentState mechanism (Feature_2888010040 in _CreateNewOutputBuffer, Feature_3712716091 in _AppendPacketToOutputBuffer), each header+payload addition gains a monotonicity check - if (payload + 8 < payload) the 32-bit add wrapped, so it rejects with 0x8000FFFF (E_UNEXPECTED) before the size drives the capacity comparison/copy; the same guard is applied to the payload+4 and payload+0x13+hdr calculations. Cross-checked against an independent writeup (the size-addition sites and the monotonicity fix match; the writeup cites Feature_2552465720 while this build shows Feature_2888010040 / Feature_3712716091, and the capacity-field offset differs because the object layout changed between the two revisions).

Pre-patch version 10.0.14393.4169 Download
Post-patch version 10.0.14393.9339 Download
Function Address Change Note
CDTSMFTDataHandler::_CreateNewOutputBuffer code change code (adds 32-bit overflow/monotonicity guard on the size addition, CFR-gated) Pre: uVar8 = (payload + 0x13) & ~0xF then wrote size (short)uVar8 + 8 with no overflow check. Post (Feature_2888010040): uVar3 = payload + 8; if (uVar3 < payload) set 0x8000FFFF (E_UNEXPECTED) before using the size / comparing to capacity.
CDTSMFTDataHandler::_AppendPacketToOutputBuffer code change code (guarded header+payload additions vs capacity, CFR-gated) Post (Feature_3712716091): computes payload + 0x13 + hdr (aligned) and payload + 8 + hdr and checks them against capacity (local_res8[0]) with the wrap guard, rejecting with 0x8000FFFF when the 32-bit add would overflow.
Feature_2888010040 / Feature_3712716091 gate added (CFR gates, velocity EvaluateCurrentState) Feature descriptors gating the overflow guards in the two sizing functions; the original unchecked additions ship when disabled. (An independent writeup cites Feature_2552465720 for the same fix.)
View full diff report View RCA report

Attack Path

A crafted audio payload length overflows the 32-bit output-buffer size computation, bypassing the capacity check

Attack path for CVE-2026-50655 A crafted audio payload length overflows the 32-bit output-buffer size computation, bypassing the capacity check 01 — ENTRY Victim opens / plays a crafted DTS audio media file Media Foundation routes it to the mfaudiocnv DTS MFT (CDTSMFTDataHandler), which sizes output buffers. AV:L / PR:N / UI:R. 02 — CONTROLLED INPUT Payload length is near UINT_MAX The output size is computed as payload + header (8 / 4 / 0x13) in 32-bit before comparison to the buffer capacity. 03 — MISSING CHECK 32-bit size addition wraps -> capacity check bypassed (CWE-122) payload + header wraps to a small value that passes the capacity comparison, then the real (large) copy overruns the output buffer. 04 — IMPACT Heap overflow -> arbitrary code execution The out-of-bounds write corrupts adjacent heap state in the media pipeline; opening the crafted file yields code execution (Critical, 7.8).

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.

Exploits & PoC

Detection Rules

Acknowledgments