Critical CVSS 7.8 EPSS 0.00445 🔬 Patch diffed 2026-06 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
Less Likely
MS Exploit Likelihood
Category Remote Code Execution
Released Jun 9 2026
Last Updated Jun 9 2026
Publicly Disclosed No
CISA KEV Not Listed
Known Exploits None Known
EPSS Score 0.00445 — 0.36906 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.00445
probability of exploitation in the next 30 days
0.36906 percentile - updated 2026-08-14
View on FIRST.org

Affected Products

30 affected products
Product KB Article Severity Impact Restart Required
Windows 10 Version 1607 for 32-bit Systems 5094122 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 1607 for x64-based Systems 5094122 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 1809 for 32-bit Systems 5094123 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 1809 for x64-based Systems 5094123 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 21H2 for 32-bit Systems 5094127 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 21H2 for ARM64-based Systems 5094127 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 21H2 for x64-based Systems 5094127 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 22H2 for 32-bit Systems 5094127 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 22H2 for ARM64-based Systems 5094127 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 22H2 for x64-based Systems 5094127 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 23H2 for ARM64-based Systems 5093998 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 23H2 for x64-based Systems 5093998 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 24H2 for ARM64-based Systems 5094126 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 24H2 for x64-based Systems 5094126 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 25H2 for ARM64-based Systems 5094126 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 25H2 for x64-based Systems 5094126 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 26H1 for ARM64-based Systems 5095051 (Security Update) Critical Remote Code Execution Yes
Windows 11 version 26H1 for x64-based Systems 5095051 (Security Update) Critical Remote Code Execution Yes
Windows Server 2012 5094042 (Monthly Rollup) Critical Remote Code Execution Yes
Windows Server 2012 (Server Core installation) 5094042 (Monthly Rollup) Critical Remote Code Execution Yes
Windows Server 2012 R2 5094041 (Monthly Rollup) Critical Remote Code Execution Yes
Windows Server 2012 R2 (Server Core installation) 5094041 (Monthly Rollup) Critical Remote Code Execution Yes
Windows Server 2016 5094122 (Security Update) Critical Remote Code Execution Yes
Windows Server 2016 (Server Core installation) 5094122 (Security Update) Critical Remote Code Execution Yes
Windows Server 2019 5094123 (Security Update) Critical Remote Code Execution Yes
Windows Server 2019 (Server Core installation) 5094123 (Security Update) Critical Remote Code Execution Yes
Windows Server 2022 5094128 (Security Update) Critical Remote Code Execution Yes
Windows Server 2022 (Server Core installation) 5094128 (Security Update) Critical Remote Code Execution Yes
Windows Server 2025 5094125 (Security Update) Critical Remote Code Execution Yes
Windows Server 2025 (Server Core installation) 5094125 (Security Update) Critical Remote Code Execution Yes

Patches

10 patches
Article Type Restart
5094122 Security Update Yes
5094123 Security Update Yes
5094127 Security Update Yes
5093998 Security Update Yes
5094126 Security Update Yes
5095051 Security Update Yes
5094042 Monthly Rollup Yes
5094041 Monthly Rollup Yes
5094128 Security Update Yes
5094125 Security Update Yes

Patch Diff

ghidriff · mfmkvsrcsnk.dll (KB5094126)

Heap buffer overflow (CWE-122) via a store-before-bounds-check in the Windows Media Foundation MKV source mfmkvsrcsnk.dll MkvMfStreamVideoHEVC::GetMFMediaType, Critical RCE on opening a crafted HEVC media file (UI:R). Parsing the HEVC track CodecPrivate (hvcC), the function records each parameter-set NAL length in a table at this+0x1E0 that is 0x800 bytes = 512 DWORD entries (valid index 0-511). PRE: it wrote *(this+0x1e0 + v3*4) = nalUnitLength+4 FIRST, then incremented v3 and only afterward checked v3 > 0x200. When the index reaches 512 (already out of range) it executes table[512]=len+4, a 4-byte write immediately past the 0x800-byte table, before the check stops parsing. The written value is nalUnitLength+4 big-endian (4..0x10003), attacker-influenced; the NAL type is checked once per array (not per NAL), so a single parameter-set array with numNalus=513 gives 513 store targets and ~1KB CodecPrivate drives the index to 512. Diff of mfmkvsrcsnk.dll 10.0.26100.8328 -> .8655 (Jun 9 2026, KB5094126) confirms the fix: the bound is now checked before the write and the store is guarded by (index < 0x200), so the out-of-bounds table[512] write no longer occurs. Unconditional fix (no CFR flag).

Pre-patch version 10.0.26100.8328 Download
Post-patch version 10.0.26100.8655 Download
Function Address Change Note
MkvMfSourceLib::MkvMfStreamVideoHEVC::GetMFMediaType code change code (bounds check moved before the table store) Pre: *(this+0x1e0 + v3*4) = nalUnitLength+4; v3++; if (0x200 < v3) fail -> table[512] written once before the check. Post: bound (0x200 < idx) checked up front and the store guarded by (idx < 0x200), eliminating the OOB write at index 512. Table at this+0x1E0 is 0x800 bytes / 512 DWORD entries.
View full diff report View RCA report

Attack Path

HEVC CodecPrivate with numNalus=513 makes the length table store one 4-byte entry past its 512-slot end before the check fires

Attack path for CVE-2026-48574 HEVC CodecPrivate with numNalus=513 makes the length table store one 4-byte entry past its 512-slot end before the check fires 01 — ENTRY Victim opens/plays a crafted MKV file with an HEVC track Media Foundation's MKV source (mfmkvsrcsnk.dll) calls MkvMfStreamVideoHEVC::GetMFMediaType to parse the HEVC CodecPrivate (hvcC). UI:R / PR:N. 02 — CONTROLLED INPUT CodecPrivate declares a parameter-set array with numNalus >= 513 The NAL type is validated once per array, not per NAL, so 513 NALs all become length-table store targets; ~1KB of CodecPrivate suffices. 03 — PATH Each NAL length is written to the 512-entry table at this+0x1E0 (0x800 bytes) The parser stores *(this+0x1e0 + index*4) = nalUnitLength+4 and only afterward checks index > 0x200. 04 — MISSING CHECK The store happens before the bounds check (CWE-122 off-by-one) At index 512 the code writes table[512] (4 bytes past the 0x800-byte table) before the check increments to 513 and stops. 05 — PRIMITIVE 4-byte attacker-influenced heap write past the table -> RCE The value nalUnitLength+4 (big-endian, 4..0x10003) corrupts adjacent heap. The Jun 2026 fix checks the bound before the write and guards the store with index < 0x200.

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

cyanbamboo and b2ahex
Anonymous
Kyeongmin Kim (@hareh4ru)