Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malformed H.265 RPS bitstream
-
DeliveryDeliver via .heic/.mp4 email or web link
-
ExploitVictim opens file in libde265-backed viewer
-
ExecutionPredicted RPS construction overflows NumDeltaPocs past 16
-
PersistOut-of-bounds write to PocStFoll[16] corrupts decoder context
-
ImpactProcess crash or potential code execution
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Victim must open or render an attacker-supplied H.265 bitstream (raw stream, .heic, or HEVC-encoded video) using an application built against libde265 prior to 1.0.20; UI:R in the CVSS vector confirms user interaction is required. The malformed bitstream must contain a predicted short-term reference picture set whose aggregate NumDeltaPocs after appending the current-picture delta exceeds MAX_NUM_REF_PICS (16). Exploitation is limited by the need for the target host application to actually invoke libde265's HEVC parsing path on untrusted input, and by heap layout for any escalation beyond a crash; no authentication is required (PR:N) and no special server-side configuration is needed. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H) accurately reflects a client-side parsing bug: network-reachable via any application that decodes attacker-supplied HEVC content, but requires user interaction such as opening a file or visiting a page. Realistic risk is moderate-to-high because libde265 is embedded in libheif, GStreamer plugins, and various media tools, meaning a single crafted .heic or .h265 file could affect many downstream products. No EPSS, KEV, or POC signal is provided, so no public exploit identified at time of analysis; however, the published commit diff with explanatory comments makes the bug pattern trivially identifiable and increases the likelihood of weaponized fuzzer-derived POCs appearing soon. The C:N rating suggests memory disclosure is not the primary concern - exploitation is more likely to yield crashes (A:H) with a narrower path to RCE via heap corruption. |
| Exploit ScenarioDerived | An attacker crafts a malicious H.265 bitstream (e.g., embedded in a .heic image or .mp4 video) where the predicted short-term reference picture set construction pushes NumDeltaPocs to 17, and delivers it via email attachment, web download, or messaging app. When the victim opens the file in a viewer that uses libde265 (directly or via libheif), the decoder writes past the 16-entry PocStFoll array, corrupting adjacent decoder state and crashing the process or potentially enabling code execution. No public POC has been identified, but the commit diff publicly documents the exact overflow condition. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 19, 2026
Out-of-bounds write in libde265 prior to version 1.0.20 allows remote attackers to corrupt memory by tricking a user into processing a maliciously crafted H.265 bitstream. The flaw resides in the short-term reference picture set handling and can lead to denial of service or potential code execution in any application that links libde265 for HEVC decoding. No public exploit identified at time of analysis, though the upstream patch and commit-level root-cause disclosure provide a clear roadmap for exploit development.
RemediationAI
Vendor-released patch: libde265 1.0.20 - upgrade to this version, which adds an aggregate NumDeltaPocs > MAX_NUM_REF_PICS check in read_short_term_ref_pic_set() (commit 691f3a3c55b3d32478c4a49895dee061a282652b). Downstream packagers should rebuild dependents (libheif, GStreamer plugins, media apps) against the patched library and redistribute. If immediate upgrade is not feasible, compensating controls include blocking or sandboxing the rendering of untrusted HEVC/.heic/.h265 content at the email gateway and web proxy, running media-processing services under seccomp/AppArmor profiles that restrict syscalls, and disabling HEVC support in browsers or thumbnailers where it is not business-critical - with the trade-off of breaking legitimate HEVC playback for users. Reference the GHSA advisory at https://github.com/strukturag/libde265/security/advisories/GHSA-g2rg-wj66-w594.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
libde265 (cpe:2.3:a:strukturag:libde265) is a widely embedded open-source HEVC/H.265 video decoder used by media players, browsers, and image libraries such as libheif. The vulnerability is a classic CWE-787 out-of-bounds write triggered in decoder_context::process_reference_picture_set() at libde265/decctx.cc:1376. Per the upstream commit (691f3a3c), individual short-term reference picture lists are bounded, but the predicted-RPS construction appends the current-picture delta to an already-full source set, allowing the aggregate NumDeltaPocs to exceed MAX_NUM_REF_PICS (16). The decoder then writes at index 16 of the fixed-size PocStFoll array, corrupting adjacent memory in the decoder context structure.
Know when Libde265 gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H
Network-delivered crafted bitstream, no auth, but requires the user to open the file (UI:R); OOB write yields integrity tampering and high availability impact with no direct confidentiality disclosure.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
libde265 is an open source implementation of the h.265 video codec. Prior to version 1.0.20, a crafted H.265 bitstream can cause an out-of-bounds array write in decoder_context::process_reference_picture_set() (libde265/decctx.cc:1376). The root cause is a missing aggregate bound check on predicted short-term reference picture set entries. Individual list sizes are validated, but the combined count after predicted RPS construction can exceed the 16-entry PocStFoll array, writing at index 16. Version 1.0.20 patches the issue.
Executive ViewAI
libde265, a widely-deployed HEVC video decoding library, contains a memory corruption vulnerability (CVSS 7.1) that could enable remote code execution when users process maliciously crafted video files; no public exploit identified at time of analysis. This impacts organizations relying on video processing platforms, streaming services, and media applications. Immediate assessment of affected deployments is critical given the severity and code-execution potential.
No vendor-released patch identified at time of analysis. Until version 1.0.20 becomes available: restrict HEVC video decoding to pre-validated or trusted content sources; disable HEVC support in non-critical applications; run video processing in isolated or sandboxed containers; implement network-level controls restricting video source origins; monitor for exploitation attempts targeting codec parsing code paths.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Heap-based Buffer Overflow in GitHub repository strukturag/libde265 prior to and including 1.0.8. Rated critical severit
Libde265 v1.0.14 was discovered to contain a global buffer overflow vulnerability in the read_coding_unit function at sl
Libde265 v1.0.14 was discovered to contain a heap-buffer-overflow vulnerability in the derive_combined_bipredictive_merg
Libde265 v1.0.14 was discovered to contain a heap-buffer-overflow vulnerability in the derive_spatial_luma_vector_predic
Libde265 v1.0.11 was discovered to contain a heap buffer overflow via the function derive_collocated_motion_vectors at m
Libde265 v1.0.12 was discovered to contain multiple buffer overflows via the num_tile_columns and num_tile_row parameter
Libde265 v1.0.10 was discovered to contain a heap-buffer-overflow vulnerability in the derive_spatial_luma_vector_predic
Heap Buffer Overflow vulnerability in Libde265 v1.0.15 allows attackers to crash the application via crafted payload to
Libde265 v1.0.11 was discovered to contain a segmentation violation via the function decoder_context::process_slice_segm
libde265 v1.0.10 was discovered to contain a NULL pointer dereference in the mc_chroma function at motion.cc. Rated medi
Libde265 v1.0.8 was discovered to contain a heap-buffer-overflow vulnerability via put_unweighted_pred_16_fallback in fa
Libde265 v1.0.8 was discovered to contain a heap-buffer-overflow vulnerability via put_epel_16_fallback in fallback-moti
EUVD-2026-38079
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB