Skip to main content

music-metadata CVE-2026-107387

| EUVDEUVD-2026-95167 MEDIUM
Memory Allocation with Excessive Size Value (CWE-789)
2026-10-08 GitHub_M GHSA-53v6-4h7p-p4gj
5.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Submit crafted APE file to parser
  2. Delivery
    APEv2 parser reads forged tag-item size
  3. Exploit
    Oversized Uint8Array allocated before bounds check
  4. Execution
    Repeated parsing exhausts process memory
  5. Impact
    Denial of service

Vulnerability Assessment

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

The host application must use music-metadata prior to 11.16.0 and feed it an attacker-supplied APE/APEv2 file; the trigger is the attacker-controlled tag-item size field (including cover-art/binary items such as 'Cover Art (Front)'), which is allocated as a Uint8Array before being validated against the remaining tag or file length. Amplification to full memory exhaustion relies on repeated or concurrent parsing of such files. Limiting factors: impact is availability-only (no data exposure or code execution), exploitation requires the application to actually parse untrusted media, and the CVSS base vector treats the attack as local (AV:L) - remote reachability depends on whether the deployment accepts uploaded audio files.

Impact

This is a genuine but moderate-priority availability flaw, not a high-severity emergency. The CVSS 6.2 vector (AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) reflects a local-vector, low-complexity, no-privilege, no-interaction denial of service with no confidentiality or integrity impact - consistent with CWE-789 (memory allocation with excessive size value) and the description's statement that the demonstrated impact is availability loss only. No EPSS score is present in the input and the CVE is not on CISA KEV, so there is no evidence of widespread or active exploitation; exploitation-probability signals are missing rather than conflicting. A reproducer does exist: the vendor's fix PR #2744 ships regression tests that construct a 134-byte crafted APE cover-art file, so working exploit material is effectively public. The main signal tension is AV:L versus real-world reachability - the base score assumes local file supply, but any service that parses attacker-uploaded audio with music-metadata (a common deployment) makes this remotely reachable, which would push the effective vector toward AV:N even though impact stays availability-only. Bottom line: patch-worthy for anyone parsing untrusted media, but it is a resource-exhaustion DoS, not code execution or data exposure.

Exploit ScenarioDerived

An attacker submits a small (~134-byte) crafted APE audio file to an application that uses music-metadata < 11.16.0 to extract tags. The APEv2 parser trusts the attacker-controlled tag-item size (e.g., a forged 0x08000000 cover-art item) and allocates a correspondingly huge Uint8Array before validating it against remaining data; repeated or concurrent submissions exhaust process memory and crash the service. A public reproducer is embedded in the vendor's fix regression tests.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 – Oct 08, 2026

Parsing a crafted APEv2 tag with the music-metadata library before 11.16.0 can force a disproportionate Uint8Array allocation from an attacker-controlled tag-item size field, and repeated or concurrent parsing of such files can exhaust the host process's memory. The flaw is reachable by any Node.js application, service, or bundled front end that hands attacker-supplied .ape/MP3-with-APEv2 media to the parser; it is fixed in 11.16.0. The demonstrated impact is availability loss only - the assessed vector is CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H (6.2) with no confidentiality or integrity effect, and no public exploit code or confirmed active exploitation was identified at time of analysis.

RemediationAI

Vendor-released patch: 11.16.0 - upgrade the dependency with npm install music-metadata@^11.16.0 (or pin 11.16.0 exactly) and rebuild/redeploy any bundling applications; the fix is tracked by GHSA-53v6-4h7p-p4gj at https://github.com/Borewit/music-metadata/security/advisories/GHSA-53v6-4h7p-p4gj, PR https://github.com/Borewit/music-metadata/pull/2744, commit https://github.com/Borewit/music-metadata/commit/b3bf52cb6021b046f33ba47583e19ab8f10dd235, and release https://github.com/Borewit/music-metadata/releases/tag/v11.16.0. Where upgrading is delayed, compensating controls should target the unpatched allocation: enforce a strict upload/file-size ceiling and reject media whose declared APEv2 tag size exceeds the actual file length before handing it to the library (this pre-validation is cheap but must be re-implemented on every ingestion path and can reject legitimately large, fully intact tags). Alternatively, run parsing inside a worker thread or subprocess with an explicit memory ceiling (e.g., worker_threads resourceLimits) and a timeout so a single malformed file cannot take down the main process - the trade-off is higher per-parse CPU/memory overhead and possible false failures on large legitimate cover art. Note that setting skipCovers is not sufficient, since non-cover item types 0-3 also reach the vulnerable allocation; the patched 11.16.0 code fixes all of them. There is no vendor-released workaround branch for pre-11.16.0 other than these host-side limits.

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

music-metadata uses the strtok3 tokenizer to walk APEv2 tag structures: an APETAGEX footer/header carrying a tag size, followed by tag items that each begin with a 32-bit little-endian size field, a flags/type word (type 0 = text, 1 = binary, 2 = external/locator, 3 = reserved), a NUL-terminated key such as 'Cover Art (Front)', and the value bytes. In versions before 11.16.0 the parser trusted that size field and, for binary items, executed new Uint8Array(tagItemHeader.size) before confirming the declared item fit within the remaining tag or file data, and it also peeked for the key terminator without reserving the value bytes; this is CWE-789 (Memory Allocation with Excessive Size Value). The upstream fix in PR #2744 (commit b3bf52cb6021b046f33ba47583e19ab8f10dd235, released as v11.16.0) rejects items whose size is greater than or equal to the remaining tag bytes or exceeds the known file size minus the current position, bounds the key peek by the same remaining space, and throws ApeContentError on an unterminated key. For non-random-access streams it reads the value in 64 KiB chunks into a temporary list and only allocates the full buffer after all bytes are actually consumed, so an unknown-size stream can no longer be tricked into a giant up-front allocation. Note that the advisory tagging references information disclosure, but the patched code paths and the assessed vector (C:N/I:N/A:H) confine the demonstrated impact to availability; the CPE cpe:2.3:a:borewit:music-metadata:*:*:*:*:*:*:*:* covers the affected npm package across all pre-11.16.0 releases regardless of the host runtime.

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 6.2 MEDIUM

Attacker need only supply a crafted file (AV:L, AC:L, PR:N, UI:N); no confidentiality or integrity impact and a memory-exhaustion DoS yields C:N/I:N/A:H.

3.1 AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/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

2
CVSS changed
Oct 13, 2026 - 14:37 NVD
6.2 (MEDIUM) 5.5 (MEDIUM)
Patch available
Oct 08, 2026 - 20:03 EUVD

DescriptionNVD

music-metadata is a metadata parser for audio and video media files. Prior to 11.16.0, the APEv2 parser reads an attacker-controlled tag-item size and allocates a Uint8Array for a binary item before proving that the declared item fits in the remaining tag or file data. A small crafted APE file can therefore trigger a disproportionate allocation, including through cover-art items, and repeated or concurrent parsing can exhaust process memory. The demonstrated impact is availability loss only. 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.2%
Top 92% exploitable
Prevalence
Medium
popular Node.js audio/video metadata npm library, common but not universal
Threat Intel
1
1 sources
Data Quality
7 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA 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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
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
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

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