Skip to main content

music-metadata CVE-2026-107388

| EUVDEUVD-2026-95169 MEDIUM
Memory Allocation with Excessive Size Value (CWE-789)
2026-10-08 GitHub_M GHSA-jjpr-9cvf-cq55
5.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Supply crafted truncated ID3v2 file
  2. Exploit
    Parser trusts syncsafe tag-size field
  3. Execution
    Allocates ~268 MiB before input validation
  4. Impact
    Repeat concurrently to exhaust memory

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
Exploitation Conditions

Requires an application running music-metadata prior to 11.16.0 that parses attacker-supplied audio/video input containing an ID3v2 tag (e.g., audio/mpeg MP3 passed through parseBuffer/parseFile). The specific trigger is an ID3v2 header whose syncsafe tag-size field declares a large body (up to 268435455 bytes ≈ 268 MiB) while the file is truncated so the declared bytes are absent. LIMITING FACTORS: the attacker must be able to get a file into the parser (e.g., an upload or ingestion feature); a single file yields only a bounded, transient allocation that is freed after the caught EndOfStreamError, so durable denial-of-service requires high volume or concurrency of crafted files; impact is availability only (no data read or integrity change). No authentication is required by the library itself (PR:N), but the enclosing application's access controls on its file-ingestion path may constrain who can submit files.

Impact

This is a resource-exhaustion flaw (CWE-789, Memory Allocation with Excessive Size Value) in the ID3v2 parser of the music-metadata library, confirmed and fixed by the vendor in v11.16.0. The provided CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 6.2 MEDIUM) rates only availability impact - consistent with the description, since the bug causes a large (~268 MiB) heap allocation, not data exposure. No EPSS score, no CISA KEV listing, and no explicit POC flag were supplied, so there is no evidence of active or widespread exploitation; however, the fix commit/test publicly contains the exact 10-byte trigger vector, lowering the barrier to reproduction. Two signals are in tension and should be weighed down: (1) the description notes the allocation SUCCEEDS, the subsequent read hits EndOfStreamError which is caught, and the caller still receives a normal metadata object - meaning a single file produces a transient, bounded ~268 MiB spike that is freed, not a guaranteed crash, so NVD's A:H may overstate per-request impact; realistic denial-of-service requires concurrent or repeated parsing of many crafted files for amplification. (2) The AV:L (local) rating is appropriate for the library in isolation, but in the common deployment where an application parses user-uploaded audio/video, the attacker-controlled file arrives over the network, making the practical exposure closer to remote - verify against your own ingestion path. Net: a legitimate-to-fix MEDIUM availability/DoS issue, not a high-urgency critical; prioritize patching for services that parse untrusted uploads at volume.

Exploit ScenarioDerived

An attacker uploads a truncated audio file containing only a crafted ID3v2 header whose syncsafe tag-size field declares a body of ~268 MiB; an application using music-metadata < 11.16.0 to parse the upload allocates the full declared buffer before validating that the bytes exist. Repeating this across many concurrent uploads drives memory pressure and can exhaust host memory, degrading or crashing the parsing service. The fix PR's test includes a minimal 10-byte trigger (ID3 header with size bytes 0x7f 0x7f 0x7f 0x7f = 268435455), so a working trigger input is publicly documented even though no weaponized exploit is reported.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 08, 2026

Uncontrolled memory allocation in the music-metadata Node.js library (versions prior to 11.16.0) lets an attacker who supplies a truncated ID3v2 audio file force the parser to reserve up to ~268 MiB based on a header that declares a large tag body which is not actually present. The parser allocates the full declared size before confirming those bytes exist, then silently catches the resulting EndOfStreamError and returns a normal metadata object, so the failure is invisible to the calling application. Impact is limited to availability (assessed CVSS 3.1 AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L): each crafted file produces a bounded, transient allocation that is freed once the read fails, so meaningful denial of service requires high volume or concurrency; no public exploit code was identified at time of analysis, and the vendor shipped a fix in 11.16.0.

RemediationAI

Upgrade to music-metadata 11.16.0 or later, the vendor-released patch (v11.16.0 release tag, PR #2743, commit b033db675b913a9dba1d29135ec3c10eae7095a7), which adds a pre-allocation check that throws Id3v2ContentError when the declared ID3v2 tag size exceeds the remaining file size, so no version-specific workaround is required once applied. Where upgrading is not immediately possible, compensate by rejecting files whose declared ID3v2 tag size exceeds the actual bytes available before parsing, enforcing strict request-body and file-size limits on the ingestion path, capping concurrent parse operations, and running the parser in a memory-constrained worker or process (for example Node's --max-old-space-size) so a burst of crafted files degrades only that process; each measure lowers the blast radius but, unlike the patch, does not remove the underlying trust in the declared tag length. Full details are in the advisory at https://github.com/Borewit/music-metadata/security/advisories/GHSA-jjpr-9cvf-cq55, and access controls on the application's file-ingestion endpoint remain an effective limiting factor since the library itself requires no authentication (PR:N).

Affected VersionsENISA

music-metadata < 11.16.0

Affected Packages

npm music-metadata fix: 11.16.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ID3v2 is the dominant metadata container for MP3 audio, and its header carries a 28-bit 'syncsafe' integer that encodes the size of the tag body. The vulnerable parser (lib/id3v2/ID3v2Parser.ts) read that field and allocated a buffer of the declared size before validating that the stream actually contained the corresponding number of bytes, a CWE-789 (Memory Allocation with Excessive Size Value) pattern. Because of this ordering, a minimal 10-byte ID3v2 header is sufficient to request an allocation of up to 268435455 bytes (~268 MiB); since the truncated input ends immediately, the read fails with EndOfStreamError, which the parser catches internally and then returns a normal metadata object with no error surfaced to the caller. The 11.16.0 fix (PR #2743, commit b033db675b913a9dba1d29135ec3c10eae7095a7) compares the declared tag size against the remaining file size derived from tokenizer.fileInfo.size and the current tokenizer position, throwing Id3v2ContentError before any allocation occurs; a regression test feeds a bare header declaring 0x7f7f7f7f and expects that rejection.

Know when Music Metadata 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 MEDIUM
NVD 5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 4.0 MEDIUM

Attacker supplies a file to the parser (AV:L), no auth or interaction within the library (PR:N/UI:N); impact is a transient, freed ~268 MiB allocation, so A:L rather than A:H, with no C/I impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorNVD

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

Lifecycle Timeline

3
CVSS changed
Oct 13, 2026 - 14:52 NVD
6.2 (MEDIUM) 5.5 (MEDIUM)
Patch available
Oct 08, 2026 - 20:03 EUVD
CVE Published
Oct 08, 2026 - 19:00 cve.org
MEDIUM 6.2

DescriptionNVD

music-metadata is a metadata parser for audio and video media files. Prior to 11.16.0, the ID3v2 parser trusts the syncsafe tag-size field and allocates the complete tag body before checking whether the input contains the declared bytes. A truncated file containing only an ID3v2 header can request an allocation approaching 268 MiB; the allocation succeeds, the subsequent read reaches end of stream, the EndOfStreamError is caught internally, and the caller receives a normal metadata object. This issue is fixed in version 11.16.0.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1 npm packages depend on music-metadata (1 direct, 0 indirect)

Ecosystem-wide dependent count for version 11.16.0.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
High
very popular npm audio-metadata parser, millions of weekly downloads
Threat Intel
1
1 source
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 No
EPSS 0.1%
Patch available Yes
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
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

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