Skip to main content

libsidplayfp EUVDEUVD-2026-102275

| CVE-2026-111148 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-15 VulnCheck
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft PSID/RSID file with oversized data offset
  2. Exploit
    Victim opens tune in libsidplayfp app
  3. Impact
    OOB read in resolveAddrs() crashes application

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an attacker to supply a crafted PSID/RSID SID tune file in which the header data offset is set beyond the actual file size, and requires a victim to load/play that file in an application using libsidplayfp version 3.1.1 or earlier. Per the CVSS vector this is a local vector with passive user interaction (UI:P) and no authentication (PR:N) - no special product configuration or feature toggle is needed; any application that parses attacker-supplied tunes via SidTuneBase::acceptSidTune is affected. Limiting factors: exploitation cannot occur without user interaction (opening the malicious file), there is no network-reachable path, and the confirmed impact is limited to an application crash (DoS) with no code execution or verified data exposure.

Impact

This is a moderate, not high-priority, issue. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) and score of 6.8 describe a local, user-interaction-dependent denial-of-service: the attacker cannot reach the code remotely and must get a victim to open a crafted SID tune. Crucially, the only rated impact is availability (VA:H); confidentiality and integrity are N, meaning the vendor/NVD assessment treats this as a crash, not a data leak or code-execution bug - even though CWE-125 and the 'Information Disclosure' tag imply memory disclosure. This is a notable conflict: an out-of-bounds READ is classically a disclosure primitive, but the description and CVSS both frame the outcome purely as an application crash, so there is no evidence the 64 KiB of over-read data is ever returned to the attacker. Publicly available exploit code exists (POC via hackmd write-up and VulnCheck advisory), which raises practical risk, but there is no CISA KEV listing and no EPSS score was provided, so there is no indication of widespread or automated exploitation. No SSVC decision data was supplied. Net: real but low-urgency - a reliable DoS against a niche media library, worth patching but not an emergency.

Exploit ScenarioDerived

An attacker distributes a malicious .sid (PSID/RSID) tune - e.g., via a music archive, download, or chat - whose header data offset is set beyond the file size. When a victim opens or plays the file in an application built on libsidplayfp ≤3.1.1, the wrapped length calculation causes resolveAddrs() to read up to 64 KiB past the heap buffer, crashing the application. A public proof-of-concept and technical write-up already exist, lowering the barrier to reproduction.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 15, 2026

Loading a crafted PSID/RSID SID tune file in applications built on libsidplayfp through 3.1.1 crashes the process through a heap out-of-bounds read. The library trusts the header's data offset without validating it against the real file size, so an attacker-supplied offset wraps the length calculation in SidTuneBase::resolveAddrs() and the code reads up to 64 KiB past the heap buffer. The confirmed impact is denial of service only - no code execution and no verified data exposure - and an attacker must get a victim to open or play the malicious tune, so this is a moderate, not high-priority, issue; publicly available exploit code exists (a HackMD write-up), but there is no confirmed active exploitation (not in CISA KEV).

RemediationAI

Patch status: No vendor-released patch identified in the available data at time of analysis - the description only bounds the affected range at 'through 3.1.1', so administrators should monitor the upstream repository (https://github.com/libsidplayfp/libsidplayfp) and the VulnCheck advisory (https://www.vulncheck.com/advisories/libsidplayfp-through-3.1.1-heap-out-of-bounds-read-via-sidtunebase-acceptsidtune) for a fixed release and upgrade as soon as one is tagged; the code references at commit 732fa8ec (SidTuneBase.cpp lines 295-300 and 488-500) show the parsing paths that need the missing bounds check and are useful for verifying whether a given build already contains the fix. Until then, the most effective compensating control is to refuse untrusted tunes: if you control the calling application, validate the PSID/RSID header before handing it to the library - reject files where the declared data offset (or any computed payload length) is greater than or equal to the real file size, and cap accepted file sizes - which costs nothing functionally but requires code changes on your side. Operational mitigations include opening .sid files only from trusted sources and never batch-processing untrusted tune archives on systems where a crash causes a service outage, and running SID players under an unprivileged account inside a sandbox, container or VM (seccomp/AppArmor or equivalent) so that an out-of-bounds read-and-crash cannot escalate; note the trade-off that sandboxing can interfere with audio devices, plugin loading and desktop integration. Because the confirmed impact is only a crash, no memory-corruption hardening beyond these steps is strictly required, and the public PoC write-up (https://hackmd.io/@haind-pwn/libsidplayfp-psid-dataoffset-underflow-oob-read) can be used to build a regression test once a patched build is available.

Affected VersionsENISA

libsidplayfp 0 ≤3.1.1

Affected Packages

euvd libsidplayfp no fix

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

libsidplayfp is a portable C++ reimplementation of the SID chip playback engine used by players, emulators and command-line tools to render Commodore 64 PSID/RSID tune files. The PSID/RSID container is a header followed by a C64 binary blob, and the header carries a big-endian data offset (and related addresses/lengths) that tells the library where the payload starts and how long it is. CWE-125 (out-of-bounds read) applies here because the code in SidTuneBase.cpp (see the referenced lines 295-300 and 488-500 at commit 732fa8ec) computes a payload length from that attacker-controlled offset without ensuring the offset is inside the file; when the declared offset exceeds the actual file size, the subtraction wraps, and resolveAddrs() subsequently walks addresses out of a heap buffer that was sized from the wrapped value, producing reads up to roughly 64 KiB past the allocation. The affected component is the library itself (CPE cpe:2.3:a:libsidplayfp:libsidplayfp), so every downstream application that calls SidTuneBase::acceptSidTune on untrusted tune files inherits the bug. The supplied CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P, all environmental/temporal metrics 'X') is consistent with a local, no-authentication crash reachable only through file handling, and the independent assessment (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H) confirms availability-only impact with no demonstrated confidentiality or integrity loss.

Know when Libsidplayfp 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 (VulnCheck) PRIMARY 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Attacker supplies a file the victim must open (AV:L, UI:R); parsing deterministically triggers the OOB read (AC:L, PR:N); confirmed impact is a crash only, so C:N/I:N/A:H.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

libsidplayfp through 3.1.1 contains a heap out-of-bounds read vulnerability that allows attackers to crash applications by supplying a PSID/RSID file with an unchecked data offset. Attackers can set the header data offset beyond the file size, wrapping the length calculation so resolveAddrs() reads up to 64 KiB past the heap buffer.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
niche Commodore 64 SID music playback library, hobbyist/retro-audio audience
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

54
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: +20
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.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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