Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSupply crafted audioPath to transcribeAudio()
-
ExploitShell parses $()/backtick/quote in exec() command
-
ImpactExecute arbitrary commands with Node.js process privileges
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 that a consuming application call transcribeAudio() and pass attacker-influenced data as the audioPath argument; that value is concatenated unescaped into |
| Impact | All exploitability signals point in one direction: the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes network-reachable, low-complexity, unauthenticated exploitation with high confidentiality, integrity and availability impact to the vulnerable system (VC:H/VI:H/VA:H), consistent with a classic CWE-78 OS command injection and the 9.3 critical score. The vendor-confirmed patch (PR #1, replacing child_process.exec with execFile) and the GitHub source evidence corroborate the root cause, so the technical finding is high-confidence. However, several real-world-risk signals are MISSING and must not be presented as resolved: there is no EPSS score, no CISA KEV listing, and no indication of public exploit code in the input, so exploitation status is 'no public exploit identified at time of analysis.' A critical caveat tempers the AV:N rating: transcribe2texts is a Node.js LIBRARY, and audioPath is a function argument to transcribeAudio() - the vulnerability is only network-reachable if a downstream application feeds attacker-controlled input into that parameter. The CVSS:N/N/N therefore reflects a worst-case integration rather than a guaranteed remote exposure; verify whether the consuming application exposes audioPath to untrusted input. Net assessment: technically severe and trivially exploitable WHEN reachable, but real-world priority is tempered by the product's negligible deployment footprint and absence of any exploitation evidence - treat as a dependency-hygiene fix, not an emergency unless you ship this package in an exposed path. |
| Exploit ScenarioDerived | An application embeds transcribe2texts (≤1.0.6) and passes a user-supplied file path or filename into transcribeAudio(audioPath); an attacker submits a value such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
OS command injection in the transcribe2texts Node.js library through version 1.0.6 lets unauthenticated remote attackers execute arbitrary shell commands with the privileges of the Node.js process by supplying crafted audioPath values to transcribeAudio(). The flaw is a library sink rather than a directly exposed service: it is exploitable only where an integrating application passes attacker-influenced data into audioPath, which is concatenated unescaped into a python3 command line and run through child_process.exec(); applications that hardcode or strictly validate that path are not exposed. The critical 9.3 (CVSS 4.0) severity reflects network-reachable, low-complexity, no-privilege, no-interaction exploitation with high confidentiality, integrity and availability impact to the host, and while an upstream fix exists, no public exploit code has been identified at time of analysis.
RemediationAI
Apply the vendor's upstream fix by updating to the patched transcribe2texts release once it is published; the fix is the change in GitHub PR #1 (https://github.com/kky-ykk/Transcribe2texts/pull/1), which replaces child_process.exec() with child_process.execFile('python3', [scriptPath, modelPath, audioPath]) so arguments bypass the shell entirely - note that a released patched version number is not independently confirmed, so verify the tag or revert to the commit containing the diff. If upgrading is not immediately possible, the highest-value compensating control is to stop any untrusted value from reaching audioPath: reject or rewrite paths using a strict allowlist (e.g., resolve to a fixed media directory, require a normalized absolute path with an expected extension) rather than attempting to escape shell metacharacters, since the quoting-based approach in the affected code is demonstrably bypassable via $(), backticks, or a closing double quote; this is brittle because new bypasses or alternate call sites may exist. Where untrusted paths must be accepted, run the transcription under a dedicated low-privilege account or container with no network access and read-only mounts, which limits the impact of a successful injection at the cost of added operational complexity and possible performance overhead. Additional context and the reporter's advisory are available at https://vulncheck.com/advisories/transcribe2texts-through-1.0.6-os-command-injection-via-transcribeaudio-audiopath.
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
The root cause is CWE-78 (Improper Neutralization of Special Elements used in an OS Command), realized in the library's transcribeAudio() helper at lib/index.js (lines 53-55), where the command string is built as python3 "${scriptPath}" "${modelPath}" "${audioPath}" and handed to Node.js child_process.exec(). Because exec() runs the string through a shell (/bin/sh -c on POSIX), wrapping audioPath in double quotes is not a defense: POSIX shells still perform $(...) and backtick command substitution inside double quotes, and an embedded " character closes the quoting context so an attacker can append arbitrary shell syntax such as ; id or a piped download. Any audioPath value that reaches this sink from untrusted input is therefore shell-interpreted and executed with the Node.js process's privileges. The vendor's fix in GitHub PR #1 removes the shell entirely by switching to child_process.execFile('python3', [scriptPath, modelPath, audioPath]), where each element is passed directly as an argv entry and no shell metacharacter parsing occurs; the diff also notes that quotes must not be re-added, since with execFile they would become literal characters in the argument. The CPE cpe:2.3:a:kky-ykk:transcribe2texts:*:*:*:*:*:*:*:* uses a wildcard version, consistent with the advisory's statement that all releases through 1.0.6 are affected.
Know when Transcribe2Texts 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:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Unescaped input reaches shell exec() with no auth or interaction in the library; AV:N/PR:N reflect worst-case reachability, S:U as code runs within the same Node.js process, full CIA impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
transcribe2texts through 1.0.6 contains an OS command injection vulnerability that allows attackers to execute commands by supplying crafted audioPath values to transcribeAudio(). Attackers can inject $() or backtick substitution or a closing quote into the unescaped path passed to child_process.exec() to run commands with Node.js process privileges.
Articles & Coverage 1
Executive ViewAI
The transcribe2texts Node.js library (versions through 1.0.6) contains a critical OS command injection vulnerability that allows remote attackers to execute arbitrary shell commands on the host system. This affects any organization whose applications pass untrusted data into the library's audioPath parameter, potentially leading to full server compromise, data breach, and operational disruption. Leadership should prioritize immediate remediation because the vulnerability is network-reachable and carries a critical severity rating.
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.
EUVD-2026-101271
GHSA-j3hr-hcvv-fg84
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB