Vercel CLI CVE-2026-44479
MEDIUMAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconPass token via CLI argument
-
DeliveryTrigger non-interactive mode
-
ExploitCommand fails to complete
-
InstallJSON suggestion output generated
-
C2Token exposed in plaintext
-
ExecuteLogs captured and archived
-
ImpactAttacker accesses logs
-
Step 8Token exfiltrated
-
Step 9Account compromise
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | All three of the following must be simultaneously true: (1) Token passed as --token or -t CLI argument (not via VERCEL_TOKEN environment variable); (2) CLI runs in non-interactive mode (explicit --non-interactive flag or automatic AI agent detection); (3) The command cannot complete autonomously, triggering emission of a JSON suggestion payload (missing --yes flag, ambiguous project scope, API errors, or other incomplete state). Successful commands that complete without user input do not produce suggestion output and do not leak tokens. The vulnerability does NOT affect deployments using VERCEL_TOKEN environment variable, explicit --yes flag confirmations in non-interactive mode, or interactive (tty-attached) CLI usage. Exploitation requires only read access to system logs, CI/CD artifacts, or process output - no authentication or elevated privileges beyond standard user access. |
| Impact | CVSS 5.5 (AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N) indicates local attack vector with user interaction required, confidentiality impact only. However, real-world risk is significantly elevated beyond the CVSS score because: (1) the user interaction is passive (running a CLI command) in automated contexts; (2) CI/CD logs capturing this output are often widely accessible to development teams; (3) affected versions span a 6-month window (50.16.0 to 52.0.0), suggesting potential widespread exposure; (4) the condition is not exotic - developers legitimately use --token in automation to avoid interactive prompts. The local attack vector is misleading in CI/CD contexts where log artifacts are accessible to multiple team members and retention services. No KEV status or POC provided; exploitation is straightforward log review requiring no special tooling. EPSS data not provided. This is a real priority despite moderate CVSS due to ease of token capture in high-visibility automation logs and likelihood that exposed tokens enable full Vercel account compromise. |
| Exploit ScenarioDerived | A developer uses Vercel CLI with --token flag in a GitHub Actions or GitLab CI pipeline to deploy a project without interactive prompts. The deployment encounters an ambiguous scope or missing --yes flag, causing the command to fail and emit a JSON suggestion payload to stdout. The CI/CD system captures this output in publicly or team-accessible logs. An attacker with read access to CI/CD logs (teammate, contractor, or via log service breach) extracts the plaintext token and uses it to access the developer's Vercel account, projects, and deployment history. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 07, 2026
Vercel CLI leaks authentication tokens in JSON output when running in non-interactive mode with credentials passed via command-line arguments. Affected versions 50.16.0 through 52.0.0 expose plaintext tokens in suggested follow-up commands when operations cannot complete autonomously, allowing token capture in CI/CD logs and automation transcripts. Information disclosure risk is elevated in automated deployment pipelines where CLI output is logged.
RemediationAI
Immediate: Upgrade Vercel CLI to version 52.0.1 or later (npm install -g vercel@>=52.0.1). Critical follow-up: If --token has been used with --non-interactive in CI/CD workflows prior to upgrade, manually review all CI/CD logs, build artifacts, agent transcripts, and log retention services for exposed tokens, then rotate all exposed tokens via the Vercel dashboard to invalidate them. Long-term: Replace --token command-line usage with VERCEL_TOKEN environment variable for all automation and CI/CD pipelines; environment variables are not leaked in this vulnerability. Note the remediation trade-off: environment variable authentication requires CI/CD secret management setup but eliminates both this and similar token-leakage risks.
Affected Packages
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
The Vercel CLI (npm package 'vercel') implements a non-interactive execution mode triggered by the --non-interactive flag or automatic detection of AI agent environments. When commands fail to complete autonomously (due to missing flags like --yes, ambiguous scopes, or API errors), the CLI generates JSON payloads containing suggested follow-up commands. The vulnerability exists because the CLI argument parser preserves the raw --token or -t parameter value in these suggestion payloads without sanitization. This is distinct from the VERCEL_TOKEN environment variable mechanism, which is not affected. The root cause is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) - the token exposure occurs through informational output channels (logs, transcripts) rather than through direct API exposure.
Know when the next one hits your stack
- 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
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
DescriptionGitHub Advisory
Summary
When the Vercel CLI runs in non-interactive mode (--non-interactive or auto-detected AI agent), commands that cannot complete autonomously emit JSON payloads with suggested follow-up commands. If the user authenticated via --token or -t on the command line, the token value is included verbatim in those suggestions.
Conditions
All three must be true for the token to appear in output:
- Token passed as a CLI argument (
--token/-t). TheVERCEL_TOKENenvironment variable is not affected. - Non-interactive mode is active (explicit flag or AI agent auto-detection).
- The command cannot complete on its own (e.g. missing
--yes, ambiguous scope, API errors). Successful commands produce no suggestion output.
Impact
The plaintext token may be captured in CI/CD logs, agent transcripts, or other automation output.
Remediation
- Upgrade to the patched version.
- If developers have previously used
--tokenwith--non-interactivein their applications, review logs for exposed tokens and rotate them. - Prefer
VERCEL_TOKENenvironment variable for authentication.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
GHSA-pgf8-2hgj-grqg
NVD
CVE.org
EPSS
Exploit-DB