Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft H.265 stream with oversized SPS and 16-bit depth
-
DeliveryDeliver via web/email/message attachment
-
ExploitVictim opens file in libde265-backed app
-
Execution32-bit overflow allocates ~1 KB plane buffer
-
Persistfill_image() writes ~4 GB into undersized heap buffer
-
ImpactHeap corruption crashes process or enables code execution
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the target application to decode an attacker-supplied H.265 bitstream whose Sequence Parameter Set declares dimensions large enough that luma_height * luma_bpl (with BitDepth_Y or BitDepth_C of 16, i.e., 2 bytes per sample) exceeds INT32_MAX, triggering the 32-bit signed overflow in de265_image_get_buffer() at libde265/image.cc:128. The flaw lives in libde265 versions before 1.1.0 only and is reached through any caller that invokes de265_image_get_buffer()/fill_image() - typically libheif, browsers, image viewers, or media players. Per the CVSS vector (UI:R), user interaction is required: the victim must open, preview, or otherwise feed the malicious media to a libde265-backed decoder; no authentication is required (PR:N). Limiting factors include the need for the host process to actually allocate and survive a multi-gigabyte memcpy without earlier resource limits killing it, and any sandboxing or ASLR/heap hardening around the decoder. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H (7.1 High) accurately reflects a media-parsing flaw: network-reachable via any application that decodes attacker-supplied H.265 streams, but exploitation requires user interaction (opening a file, visiting a page, previewing a thumbnail) and yields high availability impact (process crash via OOB write of ~4 GB) with at most limited integrity impact in the abstract NVD model. In practice, an OOB heap write of attacker-controlled image data is a strong code-execution primitive on platforms without heavy heap hardening, so real-world impact may exceed C:N/I:L. No EPSS, KEV, or SSVC data was supplied; there is no public exploit identified at time of analysis and the issue is not on CISA KEV, suggesting risk is currently driven by exposure (how many downstream products embed libde265 and how quickly they rebuild) rather than known mass exploitation. Prioritization should be high for any product that ingests untrusted HEVC content (browsers, mail clients, file explorers with HEIC/HEIF thumbnailers). |
| Exploit ScenarioDerived | An attacker crafts an H.265 bitstream whose SPS declares very large luma/chroma dimensions and 16-bit depth, then delivers it as an .hevc/.mp4/.heif/.heic file via email attachment, web page, messaging app, or shared folder. When the victim opens or previews the file, libde265's de265_image_get_buffer() allocates a ~1 KB plane buffer due to the 32-bit overflow, and fill_image() then writes the full multi-gigabyte plane content into that buffer, producing a heap overflow that crashes the decoder process and may be steered toward arbitrary code execution. No public proof-of-concept is referenced in the supplied data, but the patch commit precisely identifies the vulnerable arithmetic. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 19, 2026
Heap buffer overflow in libde265 prior to version 1.1.0 allows remote attackers to corrupt heap memory and likely achieve code execution by tricking a user into processing a crafted H.265 video stream. The flaw stems from a 32-bit signed integer overflow in plane allocation sizing that wraps to ~1 KB, after which fill_image() writes the true ~4 GB plane content into the undersized buffer. No public exploit identified at time of analysis, but the upstream commit (8a1b5cf) and GHSA-vv8h-932h-7r86 publicly document the exact overflow location.
RemediationAI
Upgrade libde265 to vendor-released patch version 1.1.0, which fixes the integer overflow in de265_image_get_buffer() by widening stride/height to uint32_t and casting allocation and memcpy size computations to size_t (commit https://github.com/strukturag/libde265/commit/8a1b5cf212f78e1c77cb46eb5d56e492a9336eb8; advisory https://github.com/strukturag/libde265/security/advisories/GHSA-vv8h-932h-7r86). Operators of distributions and applications that bundle libde265 should rebuild and ship 1.1.0 (or backport the patch) for libheif, image viewers, browsers, and HEIF thumbnailers. Where immediate upgrade is impossible, compensating controls include disabling HEIF/HEVC decoding in affected client applications, removing or disabling OS-level HEIC thumbnail handlers (trade-off: loss of HEIC preview), blocking HEVC/HEIF MIME types at mail and web gateways (trade-off: legitimate HEIC mail/web content is rejected), and enforcing sandboxing of decoder processes to contain the heap corruption.
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 decoder used by image viewers, browsers, and media frameworks (e.g., libheif consumers). The root cause is CWE-190 (Integer Overflow or Wraparound): in libde265/image.cc, de265_image_get_buffer() computed plane sizes as int luma_height * luma_bpl using 32-bit signed arithmetic before passing the result to ALLOC_ALIGNED_16(). For SPS dimensions large enough combined with 16-bit bit depth (BitDepth_Y/C of 16, doubling bytes-per-line), the product exceeds INT32_MAX and wraps to a small positive value (~1 KB). The subsequent fill_image() path computes the same product in size_t, so it writes the genuine multi-gigabyte plane into the truncated allocation, producing a classic undersized-heap-buffer overflow. The patch (commit 8a1b5cf) promotes stride, height, and bytes-per-line to uint32_t and casts each multiplication to size_t before allocation and memcpy.
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 media parsed with one user action, no auth, no special prerequisites; heap OOB write makes availability High and plausibly leaks/alters memory, so C and I set to Low.
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.1.0, a crafted H.265 bitstream with large SPS dimensions and 16-bit bit depth causes a signed integer overflow in de265_image_get_buffer() (libde265/image.cc:128). The overflow wraps the plane allocation size to a small value (~1 KB), but the subsequent fill_image() call computes the real size using size_t, writing ~4 GB into the undersized heap buffer. Version 1.1.0 patches the issue.
Executive ViewAI
libde265 decoder library (versions prior to 1.1.0) is vulnerable to remote code execution through specially crafted H.265 videos, creating a direct pathway for system compromise in any application dependent on this library. Organizations deploying video processing or streaming services face significant risk of data breach and unauthorized system access if users encounter malicious video files. No vendor patch has been released at this time, requiring immediate deployment of interim mitigations.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) restrict H.265 video processing to isolated systems with minimal user privileges; (2) implement mandatory validation of video source authenticity prior to processing; (3) disable H.265 playback in non-critical services where operationally feasible; (4) maintain user awareness training regarding risks of untrusted video sources; (5) implement detection monitoring for exploitation indicators such as unexpected process execution or privilege escalation following video processing.
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.
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
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-38080
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB