Skip to navigation

Threat reportVulnerabilityTL-2026-2464

VLC Media Player: Integer Overflow in AllocatePicture (CVE-2026-56711) and RTSP Heap Out-of-Bounds Read (CVE-2026-73324)

highACTIVE

Two memory-safety flaws disclosed 2026-09-09 in VLC Media Player 3.0.0 through 3.0.23: a 32-bit integer-overflow/heap out-of-bounds write in the picture-buffer allocator (AllocatePicture) triggerable via a crafted PNG's oversized IHDR dimensions, and a heap out-of-bounds read in the RealRTSP access module (RtspReadLine/strdup) triggerable by a malicious RTSP server sending an unterminated response line.

Key facts for VLC Media Player heap overflow

IdentifiersTL-2026-2464, CVE-2026-56711, CVE-2026-73324
SeverityHIGH
CVSS8.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H)
Exploitation statusNo exploitation observed (theoretical)
EPSSCVE-2026-73324: 0.3% (26.2th percentile); CVE-2026-56711: 0.2% (22.4th percentile)
Affected productsVideoLAN VLC media player; Debian vlc (bookworm/trixie/sid packages)
Weaknesses (CWE)CWE-190, CWE-787, CWE-125, CWE-170
MITRE ATT&CK techniquesT1071 Application Layer Protocol, T1203 Exploitation for Client Execution, T1204.001 User Execution: Malicious Link, T1204.002 User Execution: Malicious File, T1499.004 Endpoint Denial of Service: Application or System Exploitation, T1583.004 Acquire Infrastructure: Server, T1587.004 Develop Capabilities: Exploits, T1588.006 Vulnerabilities, T1608.001 Stage Capabilities: Upload Malware
MotivationUNKNOWN
Detection rules9 (1 shown free)
Sources20 cited sources

Detection coverage for VLC Media Player heap overflow

As of 2026-09-12, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-2464 across Splunk SPL, Microsoft KQL and Sigma, covering 17 indicator(s) of compromise. The whole corpus is readable without an account. Every threat comes with one complete detection in Splunk SPL, Microsoft KQL and Sigma, free for everyone; a free account adds daily TL Creds to unlock the rest. Paid plans add a larger daily allowance, correlation and the MCP server. Threadlinqs MCP server · View plans.

Free detection: VLC Spawns LOLBin Child Process After Crash — Possible Weaponized Heap Overflow (CVE-2026-56711)

Detects vlc.exe spawning a living-off-the-land binary (cmd.exe, powershell.exe, rundll32.exe, mshta.exe, regsvr32.exe, wscript.exe, cscript.exe) as a direct child process. VLC has no legitimate reason to spawn any of these; observing it indicates the AllocatePicture heap out-of-bounds write has been weaponized past a crash/DoS into arbitrary code execution.

  • Languages: Splunk SPL, Microsoft KQL, Sigma
  • ATT&CK: T1203, T1499.004
  • Data sources: sysmon_process_creation, microsoft_defender_deviceprocessevents
  • Severity: critical
  • Confidence: high

Splunk SPL

index=sysmon sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1 ParentImage="*\\vlc.exe"
| regex Image="(?i)\\\\(cmd\.exe|powershell\.exe|pwsh\.exe|rundll32\.exe|mshta\.exe|regsvr32\.exe|wscript\.exe|cscript\.exe)$"
| table _time, host, user, ParentImage, ParentProcessId, Image, ProcessId, CommandLine
| sort -_time

Microsoft KQL

DeviceProcessEvents
| where Timestamp > ago(24h)
| where InitiatingProcessFileName =~ "vlc.exe"
| where FileName in~ ("cmd.exe","powershell.exe","pwsh.exe","rundll32.exe","mshta.exe","regsvr32.exe","wscript.exe","cscript.exe")
| project Timestamp, DeviceName, AccountName, InitiatingProcessFileName, InitiatingProcessCommandLine, FileName, ProcessCommandLine, InitiatingProcessId, ProcessId

Sigma

title: Suspicious LOLBin Child Process of vlc.exe
id: 9c2f5b6d-1a8e-4d3c-b7f2-5e0a9d4c7b22
status: experimental
description: Detects a living-off-the-land binary spawned directly by vlc.exe, which has no legitimate reason to launch a shell, script host, or DLL-execution utility. Indicates successful code execution following the AllocatePicture heap overflow (CVE-2026-56711).
references:
    - https://www.vulncheck.com/advisories/vlc-media-player-3.0.0-through-3.0.23-heap-out-of-bounds-write-via-integer-overflow-in-picture-allocation
    - https://github.com/videolan/vlc/blob/3.0.23/src/misc/picture.c
author: AII-Detector — ThreadLinqs Intelligence
date: 2026-09-12
tags:
    - attack.execution
    - attack.t1203
    - attack.t1499.004
    - cve.2026.56711
    - cwe.190
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\vlc.exe'
        Image|endswith:
            - '\cmd.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
            - '\rundll32.exe'
            - '\mshta.exe'
            - '\regsvr32.exe'
            - '\wscript.exe'
            - '\cscript.exe'
    condition: selection
falsepositives:
    - Third-party VLC plugins or extensions that legitimately shell out (rare and should be inventoried and allow-listed)
level: critical

Known false positives:

  • A locally-installed VLC Lua extension or skin that legitimately shells out to a helper utility (should be rare and inventoried)

Tuning notes: Allow-list any known-good VLC extension helper processes seen in a baseline before enabling this at critical severity; pair with the CVE-2026-2464-{SPL/KQL/SIG}-001 crash-precursor detection to build a full kill-chain alert.

8 more detection rules (Splunk SPL, Microsoft KQL, Sigma) · unlock with TL Creds. Sign up free to unlock the detection rules or query them with the Threadlinqs MCP server (Purple)
  • VLC Launch Against Untrusted PNG/Playlist File (Sentinel) · unlock with TL Creds
  • VLC Process Crash / Access Violation Correlated With Recent PNG Playback (CVE-2026-56711) · unlock with TL Creds
  • Sustained VLC RTSP Session Reuse to External Server (Heap-Leak Exfiltration Pattern, CVE-2026-73324) · unlock with TL Creds
  • VLC Process Creation With Oversized-IHDR-Candidate PNG or Playlist Argument · unlock with TL Creds
  • vlc.exe Spawns Command Interpreter or Script Host (Post-Exploitation Indicator) · unlock with TL Creds
  • vlc.exe Outbound RTSP Connection to Public IP Address · unlock with TL Creds
  • VLC Opens Untrusted PNG/Playlist Followed by Access Violation Crash (CVE-2026-56711) · unlock with TL Creds
  • VLC Outbound RTSP Session to External Server Consistent With Heap Memory Leak (CVE-2026-73324) · unlock with TL Creds

Indicators of compromise for VLC Media Player heap overflow

As of 2026-09-12, Threadlinqs Intelligence tracks 17 indicators of compromise for TL-2026-2464.

Sample indicators (2 of 17)

  • File hash: 8d432b090e08f141ce9156dc728afbed4636301b
  • File hash: 578d28f6c9f2379164516e689418f92ac74a3445

Defanged, TLP:CLEAR. Full set of 17 indicators: unlock with TL Creds.

17 indicators of compromise · unlock with TL Creds. Compare plans

How VLC Media Player heap overflow works

Both require user interaction (opening a crafted file/playlist or connecting to an attacker-controlled RTSP stream); no patch is available as of 2026-09-12.

CVE-2026-56711 (heap out-of-bounds write, CWE-190/CWE-787, NVD CVSS 3.1 base 8.8: AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H; CVSS 4.0 base 8.6: AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N) lives in AllocatePicture in src/misc/picture.c. VLC computes the buffer size needed for a decoded image plane by accumulating i_bytes += p->i_pitch * p->i_lines, both plane_t fields declared as signed int in include/vlc_picture.h, so the multiplication is evaluated in 32-bit arithmetic and can wrap before being widened to the 64-bit size_t accumulator. The preceding overflow guard divides in 64-bit arithmetic and so does not constrain the 32-bit product, and the subsequent comparison against PICTURE_SW_SIZE_MAX evaluates the already-wrapped value, so both checks pass. The vulnerable chain starts in modules/codec/png.c, which extracts width/height from the PNG's IHDR chunk via png_get_IHDR() with no range validation, writes them straight into p_dec->fmt_out.video.i_visible_width/i_visible_height, and calls decoder_NewPicture() -> AllocatePicture() with those attacker-controlled dimensions. The only upstream guard, in the image demuxer's Load() (modules/demux/image.c), is a flat 128 MiB total-file-size ceiling (const unsigned max_size = 4096 * 4096 * 8, i.e. 134,217,728 bytes) checked against the file's byte size on disk -- it performs no check on the IHDR-declared width/height themselves, so a small file can still declare enormous dimensions. An attacker crafts a PNG with an IHDR chunk declaring extremely large width/height values (e.g. near 65535x65535); the malformed file passes the file-size gate, the wraparound in AllocatePicture produces an undersized heap allocation, and the PNG decoder then writes scanlines sized to the (unwrapped) original dimensions past the end of that buffer, corrupting the heap with attacker-influenced data. VulnCheck's advisory and NVD both describe this as enabling potential arbitrary code execution once weaponized; no public PoC/exploit tool has been located.

CVE-2026-73324 (heap out-of-bounds read, CWE-125/CWE-170, NVD CVSS 3.1 base 6.5: AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N; CVSS 4.0 base 6.9: AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N) lives in the RealRTSP access module: RtspReadLine in modules/access/rtsp/access.c uses strncpy() with the full 4096-byte BUF_SIZE destination length to copy a server response line, and strncpy does not append a NUL terminator when the source line is at least as long as the destination. The resulting unterminated buffer is passed to strdup() in modules/access/rtsp/rtsp.c (rtsp_get), which keeps reading past the buffer's end until it happens to find a zero byte elsewhere in the heap, disclosing adjacent memory contents. The vulnerable input is the RTSP Session header returned by the server; VLC stores the over-read data as its session identifier and echoes it back to the same server in every subsequent request on that session, effectively exfiltrating the leaked heap bytes to the attacker over the RTSP connection it already controls. VulnCheck states a single malicious playlist entry containing a RealRTSP URL is sufficient to trigger the bug; the attacker controls the returned line's length and therefore the extent of the disclosure. RealRTSP is optional at build time but is compiled into official VideoLAN builds.

Both bugs share the same git-history affected range per OSV.dev: introduced at commit 8d432b090e08f141ce9156dc728afbed4636301b, last-affected at 578d28f6c9f2379164516e689418f92ac74a3445, with no fixing commit published. Both were found by Fabian Wahle of Hap Security, assigned CVE IDs by VulnCheck (acting as CNA), and disclosed via two separate VulnCheck technical advisories on 2026-09-09 (NVD published both records at 2026-09-09T14:17 UTC and added the CVSS 4.0 vectors in a same-day update at 2026-09-09T20:20 UTC, with NVD analysis status recorded as 'Deferred'). The Debian Security Tracker lists VLC as vulnerable and explicitly '(unfixed)' for both CVEs across bookworm (3.0.23-0+deb12u1), trixie (3.0.23-0+deb13u1), and unstable/sid (3.0.23-3) as of 2026-09-12. As of that date no patched upstream release exists -- VLC's latest 3.0-branch build remains 3.0.23 -- no public working exploit/PoC tool has been located, and neither CVE appears in the CISA Known Exploited Vulnerabilities catalog (checked against the 2026-09-11 edition, 1,709 total entries), so there is no evidence of in-the-wild exploitation.

MITRE ATT&CK techniques by tactic:

Command and Control

T1071 Application Layer Protocol

Execution

T1203 Exploitation for Client Execution; T1204.001 User Execution: Malicious Link; T1204.002 User Execution: Malicious File

Impact

T1499.004 Endpoint Denial of Service: Application or System Exploitation

Resource Development

T1583.004 Acquire Infrastructure: Server; T1587.004 Develop Capabilities: Exploits; T1588.006 Vulnerabilities; T1608.001 Stage Capabilities: Upload Malware

Remediation for VLC Media Player heap overflow

Patches

  • No official patch is available as of 2026-09-12; VLC's newest 3.0-branch release remains 3.0.23; Debian Security Tracker lists bookworm, trixie, and sid as vulnerable/unfixed

Immediate actions

  • Avoid opening PNG images, media files, or playlist entries (.m3u/.xspf/.pls) from untrusted or unsolicited sources in VLC
  • Avoid connecting VLC to untrusted, unauthenticated, or unexpected RTSP servers/streams, including realrtsp:// playlist entries
  • Where feasible, disable or restrict the RealRTSP access module in enterprise VLC deployments until a fix ships

Workarounds

  • Do not open PNG files, media files, or playlists received from untrusted or unverified sources
  • Do not point VLC at RTSP/realrtsp URLs controlled by untrusted third parties

Longer-term hardening

  • Monitor VideoLAN's GitHub repository and release notes for a 3.0.24 (or later) security release patching AllocatePicture (src/misc/picture.c), the PNG decoder's IHDR handling (modules/codec/png.c), and RtspReadLine (modules/access/rtsp/access.c)
  • Deploy EDR/behavioral monitoring for anomalous crashes or heap-corruption fault signatures in the VLC process (vlc.exe / vlc) following media file or RTSP stream access
  • Include untrusted-media-file and untrusted-streaming-URL risks in user security-awareness training, since both bugs require a user-driven action to trigger
  • Track distro package advisories (Debian bookworm/trixie/sid, Ubuntu) for backported fixes, since both CVEs are currently marked unfixed across all tracked Debian suites

Affected and fixed versions

  • VideoLAN — VLC media player
    Vulnerable versions: 3.0.0; 3.0.1; ...; 3.0.23
  • Debian — vlc (bookworm/trixie/sid packages)
    Vulnerable versions: 3.0.23-0+deb12u1 (bookworm); 3.0.23-0+deb13u1 (trixie); 3.0.23-3 (sid/unstable)

Timeline of VLC Media Player heap overflow

  • Cyber Security News publishes 'Multiple VLC Media Player Vulnerabilities,' the source feed article that seeded this hunt.
  • NVD records are last-modified at 20:20 UTC the same day, adding CVSS 4.0 vectors (8.6 for CVE-2026-56711, 6.9 for CVE-2026-73324) alongside the original CVSS 3.1 scores.
  • Both CVEs are published to the NVD at 14:17 UTC with CVSS 3.1 base scores of 8.8 (CVE-2026-56711) and 6.5 (CVE-2026-73324); NVD analysis status is recorded as 'Deferred'.
  • locked-ioc-16, acting as CNA, assigns CVE-2026-56711 and CVE-2026-73324 and publishes two separate technical advisories detailing the root-cause code paths for both bugs.
  • locked-ioc-14 of locked-ioc-15 discloses CVE-2026-56711 (AllocatePicture integer overflow) and CVE-2026-73324 (RtspReadLine out-of-bounds read) in VLC 3.0.0-3.0.23.
  • SecurityOnline.info reports both flaws, explicitly noting 'no official patch exists at the time of writing.'
  • Neither CVE-2026-56711 nor CVE-2026-73324 appears in the CISA Known Exploited Vulnerabilities catalog (2026-09-11 edition, 1,709 total entries), indicating no confirmed in-the-wild exploitation as of that date.
  • The OSV.dev records for both CVEs are aggregated with git affected-range data (introduced at commit 8d432b09, last-affected at commit 578d28f6, no fix commit); GBHackers publishes further technical analysis of both CVEs.
  • As of this date VLC's latest 3.0-branch release remains 3.0.23; no VLC 3.0.24 or other patched build addressing either CVE has been published, and no public working exploit/PoC has been located.
  • The Debian Security Tracker lists both CVEs as vulnerable and explicitly '(unfixed)' across bookworm (3.0.23-0+deb12u1), trixie (3.0.23-0+deb13u1), and unstable/sid (3.0.23-3).

Sources cited for VLC Media Player heap overflow

Showing 15 of 20 sources, primary sources first.

Drafted by the Threadlinqs research pipeline from 20 sources; published ; last updated —.

Threadlinqs Intelligence — Real-Time Threat Detection Platform

[ 0 threats ] [ 0 det ] [ CRIT: 0 ] [ HIGH: 0 ]
// threat_feed
$ sort --newest
Showing all threats

Live intelligence console

Threat level

Latest Threats