Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege access to embedding app
-
DeliveryUpload/supply file with shell-metacharacter filename
-
ExploitTrigger getID3 write/shorten shell-out handler
-
ExecutionUnescaped filename injected into command string
-
ImpactExecute arbitrary OS commands as process user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires all of: (1) the host application invoking getID3's shell-out functions - WriteVorbisComment/WriteMetaFLAC (write.vorbiscomment.php / write.metaflac.php) or the shorten Analyze path (module.audio.shorten.php); (2) the corresponding external helper binaries installed and on GETID3_HELPERAPPSDIR/PATH (vorbiscomment, metaflac, or shorten); and (3) attacker ability to control the filename passed to getID3 so it can contain shell metacharacters. This LIMITS realistic exposure: consumers that only read metadata (the common getID3 use, including WordPress core) do not reach these write/shorten paths, and hosts without the helper binaries cannot trigger the shell-out. PR:L per the vendor vector indicates some authenticated/low-privilege access to the embedding application is needed; there is no user-interaction requirement. |
| Impact | The vendor CVSS 4.0 score of 8.7 (AV:N/AC:L/PR:L/UI:N/VC:H/VI:H/VA:H) reflects high technical impact - arbitrary OS command execution as the embedding process user - but the raw score overstates real-world risk because it does not capture the deployment preconditions. Exploitation is confined to getID3's shell-out code paths: the tag-WRITE handlers WriteMetaFLAC/DeleteMetaFLAC (write.metaflac.php), WriteVorbisComment (write.vorbiscomment.php), and the shorten Analyze path (module.audio.shorten.php). All three require external helper binaries (metaflac, vorbiscomment, shorten) to be installed and the host application to actually invoke these write/shorten functions with an attacker-influenced filename - not the common read-only metadata path that consumers like WordPress core use. There is no EPSS score, no CISA KEV listing, and no public proof-of-concept exploit - only the vendor patch diff serves as source evidence. The vendor sets AT:N/AC:L; I dispute this: the helper-binary and code-path dependency is a genuine condition beyond attacker control, mapping to AT:P (4.0) / AC:H (3.1). Net: a legitimately high-impact code-execution flaw, but likely a targeted/config-dependent issue rather than a broadly automatable one - prioritize where an application is known to use getID3's write or shorten functions on untrusted filenames. |
| Exploit ScenarioDerived | An application that embeds getID3 and lets users influence stored filenames (e.g. an upload/media-management feature) calls a tag-writing function (WriteVorbisComment/WriteMetaFLAC) or the shorten analyzer, with the corresponding helper binary installed. An attacker supplies a filename containing shell metacharacters (e.g. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 20, 2026
OS command injection in getID3 versions before 1.9.26 allows an attacker who controls the filename passed to the library's shell-out handlers to execute arbitrary operating-system commands with the privileges of the embedding process. The vulnerable code paths build shell command lines around filenames using simple double quotes instead of escaping them, and they are reached through the shorten audio analyzer (module.audio.shorten.php) and the Vorbis comment / MetaFLAC write helpers (write.vorbiscomment.php, write.metaflac.php). Practical exposure is constrained: the host application must call those write or shorten routines and must have the vorbiscomment, metaflac, or shorten helper binaries installed and on GETID3_HELPERAPPSDIR or PATH, and low-privilege access to the embedding application is required per the vendor vector; the flaw is fixed in 1.9.26, and no public exploit code has been identified at time of analysis.
RemediationAI
Upgrade to getID3 1.9.26 or later (vendor-released patch: 1.9.26), which applies escapeshellarg() to filenames and temp comment files in getid3/write.vorbiscomment.php, getid3/write.metaflac.php, and getid3/module.audio.shorten.php; the corresponding fixes are in commits ce598c4f3823441d878c5a7a2a9f2f703a3e10b6 and 2c6f3f96546f05746405872848114754ed7fe9b4, with release notes at the v1.9.26 tag. If immediate upgrade is not possible, the most effective compensating control is to remove or rename the external helper binaries (vorbiscomment, metaflac, shorten) or keep them off GETID3_HELPERAPPSDIR and PATH so the vulnerable shell-out cannot be reached - the trade-off is loss of tag-writing and shorten-decoding functionality while metadata reading continues to work. Additionally, avoid passing attacker-controlled filenames into the getID3 write APIs: store uploads under server-generated names, strip or reject shell metacharacters before the path reaches the library, and run the PHP process under a low-privilege account with a restricted working directory so any residual injection has limited blast radius. Verify exposure first - installations that use getID3 only for read-only metadata parsing are not exploitable and do not need emergency change.
Affected VersionsENISA
Affected Packages
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
getID3 is a widely used, pure-PHP media metadata parsing and tagging library (maintained by James Heinrich) that is frequently embedded in larger PHP applications and CMSs. For certain formats it does not implement encoding natively but instead shells out to external helper binaries - shorten for decoding, and vorbiscomment/metaflac for tag writing - constructing a command-line string that included the media filename wrapped in double quotes. Because the filename was concatenated without escapeshellarg() (CWE-78, Improper Neutralization of Special Elements used in an OS Command), a filename containing shell metacharacters (for example quoting or command-substitution sequences) breaks out of the quoted argument and injects additional commands run by the parent shell as the process user. The fixing commits replace the naive '"'.$filename.'"' pattern with escapeshellarg() for both the media filename and the temporary comment filename, and additionally replace hard-coded backslash path separators with DIRECTORY_SEPARATOR. An accompanying change in demos/demo.mysqli.php likewise switches from a forced '\\' replacement to DIRECTORY_SEPARATOR, indicating the vulnerable shell-out logic assumed Windows-style paths. The vendor CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) reflects high technical impact but does not model the deployment preconditions; our independent assessment (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H) captures them via AC:H.
Know when Getid3 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
AC:H and PR:L because exploitation needs the embedding app to use the write/shorten shell-out paths with non-default helper binaries plus attacker-controlled filename; full command execution yields C/I/A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
getID3 before 1.9.26 contains an OS command injection vulnerability in shell-out handlers that fail to escape filenames in command strings. Attackers can craft malicious filenames containing shell metacharacters to inject arbitrary commands executed with the privileges of the process embedding getID3.
Technical POC Analysis
CWE-78 (Improper Neutralization of Special Elements used in an OS Command).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A high-severity command injection vulnerability in the getID3 media parsing library (all versions before 1.9.26) can allow an attacker with low-privileged access to an application that embeds the library to execute operating-system commands under that application's own privileges. Exposure is limited to services that process media files and have the vorbiscomment, metaflac, or shorten helper binaries installed and reachable, but where those conditions are met the consequence is potential host compromise, data exposure, or service disruption. The vendor has released a fixed version, making this a straightforward dependency upgrade rather than a containment problem.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Cross-site scripting (XSS) vulnerability in demos/demo.mysqli.php in getID3 1.X and v2.0.0-beta allows remote attackers
XML external entity injection in getID3 1.9.26 and earlier allows an attacker who can get a crafted media file parsed by
getID3() before 1.9.8, as used in ownCloud Server before 5.0.15 and 6.0.x before 6.0.2, allows remote attackers to read
EUVD-2026-83726
GHSA-7c6f-jc48-6hfq
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB