Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack executes locally only when a user runs 's init' with a crafted argument (AV:L, UI:R); no prior privileges needed (PR:N); shell command execution yields full C/I/A impact.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
4DescriptionCVE.org
The "s init" command in Serverless-Devs @serverless-devs/s <= 3.1.11 passes unsanitized user input to child_process.spawn() with shell: true. A URL ending in ".git" bypasses the only input check, allowing OS command injection when a user runs "s init" with an attacker-controlled argument.
AnalysisAI
OS command injection in the Serverless-Devs CLI (@serverless-devs/s versions 3.1.11 and earlier) lets an attacker execute arbitrary commands on a developer's machine when they run 's init' with a crafted, attacker-influenced argument. The tool passes unsanitized input into child_process.spawn() with shell:true, and the single guard check - requiring the value to end in '.git' - is trivially satisfied by an attacker while still smuggling shell metacharacters. Publicly available exploit code exists (a proof-of-concept gist), SSVC rates technical impact as total and automatable, but EPSS remains low at 0.48% and it is not in CISA KEV.
Technical ContextAI
Serverless-Devs is an open-source serverless application lifecycle/DevOps toolchain (widely associated with the Alibaba Cloud Function Compute ecosystem) whose 's' CLI scaffolds projects via the 's init' command. The root cause is CWE-78 (Improper Neutralization of Special Elements used in an OS Command): user-supplied input is forwarded to Node.js child_process.spawn() with the shell:true option, which routes the arguments through '/bin/sh -c' (or cmd.exe) rather than executing a program directly. Because a shell interprets metacharacters such as ';', '&&', '|', backticks and '$()', any injected sequence is executed. The only validation is a check that the argument ends with '.git', which does not neutralize shell syntax - a payload like 'https://x/$(malicious).git' both passes the check and executes.
RemediationAI
Upgrade @serverless-devs/s to a fixed release above 3.1.11 once published; no exact patched version is provided in the available data, so confirm the fixed version directly with the maintainers before deploying - no vendor-released patch version is independently confirmed here. Until a fix is verified, do not run 's init' with untrusted or attacker-supplied repository URLs/template arguments, and treat any '.git' argument from an unverified source as dangerous despite the extension check. Compensating controls: pin and vet the exact template/registry sources you pass to 's init'; run the CLI inside an unprivileged, sandboxed container or throwaway VM so that command execution cannot reach credentials, cloud tokens, or CI secrets (trade-off: added workflow friction); and remove cached cloud credentials from the environment where the CLI runs to limit blast radius. Reference: the POC gist (https://gist.github.com/j311yl0v3u/5600afea3bea1337805c2e335bd4ae8e) and NVD (https://nvd.nist.gov/vuln/detail/CVE-2026-51190).
LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr
Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han
A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi
Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc
Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula
Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root
LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(
Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti
Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr
SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg
Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ
Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali
Same weakness CWE-78 – OS Command Injection
View allSame technique Command Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-52481
GHSA-rm7q-w9c9-27rj