Skip to main content

libde265 EUVDEUVD-2026-38079

| CVE-2026-49295 HIGH
Out-of-bounds Write (CWE-787)
2026-06-19 GitHub_M
7.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malformed H.265 RPS bitstream
  2. Delivery
    Deliver via .heic/.mp4 email or web link
  3. Exploit
    Victim opens file in libde265-backed viewer
  4. Execution
    Predicted RPS construction overflows NumDeltaPocs past 16
  5. Persist
    Out-of-bounds write to PocStFoll[16] corrupts decoder context
  6. Impact
    Process 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

libde265 < 1.0.20

Affected Packages

euvd libde265 fix: 1.0.20

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

Vendor (GitHub_M) PRIMARY 7.1 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H
vuln.today AI 7.1 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
High

Lifecycle Timeline

1
Patch available
Jun 19, 2026 - 23:17 EUVD

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.2%
Top 92% exploitable
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

CVE-2022-1253 CRITICAL POC
9.8 Apr 06

Heap-based Buffer Overflow in GitHub repository strukturag/libde265 prior to and including 1.0.8. Rated critical severit

CVE-2023-49468 HIGH POC
8.8 Dec 07

Libde265 v1.0.14 was discovered to contain a global buffer overflow vulnerability in the read_coding_unit function at sl

CVE-2023-49467 HIGH POC
8.8 Dec 07

Libde265 v1.0.14 was discovered to contain a heap-buffer-overflow vulnerability in the derive_combined_bipredictive_merg

CVE-2023-49465 HIGH POC
8.8 Dec 07

Libde265 v1.0.14 was discovered to contain a heap-buffer-overflow vulnerability in the derive_spatial_luma_vector_predic

CVE-2023-27103 HIGH POC
8.8 Mar 15

Libde265 v1.0.11 was discovered to contain a heap buffer overflow via the function derive_collocated_motion_vectors at m

CVE-2023-43887 HIGH POC
8.1 Nov 22

Libde265 v1.0.12 was discovered to contain multiple buffer overflows via the num_tile_columns and num_tile_row parameter

CVE-2023-25221 HIGH POC
7.8 Mar 01

Libde265 v1.0.10 was discovered to contain a heap-buffer-overflow vulnerability in the derive_spatial_luma_vector_predic

CVE-2024-38950 MEDIUM POC
6.5 Jun 26

Heap Buffer Overflow vulnerability in Libde265 v1.0.15 allows attackers to crash the application via crafted payload to

CVE-2023-27102 MEDIUM POC
6.5 Mar 15

Libde265 v1.0.11 was discovered to contain a segmentation violation via the function decoder_context::process_slice_segm

CVE-2023-24751 MEDIUM POC
6.5 Mar 01

libde265 v1.0.10 was discovered to contain a NULL pointer dereference in the mc_chroma function at motion.cc. Rated medi

CVE-2022-43253 MEDIUM POC
6.5 Nov 02

Libde265 v1.0.8 was discovered to contain a heap-buffer-overflow vulnerability via put_unweighted_pred_16_fallback in fa

CVE-2022-43252 MEDIUM POC
6.5 Nov 02

Libde265 v1.0.8 was discovered to contain a heap-buffer-overflow vulnerability via put_epel_16_fallback in fallback-moti

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy