Command Injection in Synk Sweater Comb
Synk Sweater Comb before version 3.8.8 contains a command injection vulnerability in the expectGitBranch() function, allowing arbitrary OS command execution via crafted .vervet.yaml configuration files.
CVE search metadata
CVE search record: CVE-2026-75486. Severity: high. CVSS: 8.0. KEV: no. Product: Sweater Comb (< 3.8.8). Brief: Command Injection in Synk Sweater Comb. Brief link: https://feed.craftedsignal.io/briefs/2026-08-synk-sweater-comb-injection/
Synk Sweater Comb versions prior to 3.8.8 are vulnerable to a command injection flaw originating from the processing of the .vervet.yaml configuration file. The vulnerability exists within the expectGitBranch() function located in src/lint.ts, where user-supplied input from the 'linters.<key>.optic-ci.original' branch name field is concatenated directly into a template literal. This unsanitized string is then passed to the Node.js child_process.exec() function. An attacker who can influence the contents of the repository's configuration file can gain arbitrary OS command execution privileges when a victim executes the linting process. This flaw allows for lateral movement, data exfiltration, or persistence on the developer workstation or CI/CD runner environment where the tool is executed. Defenders should prioritize updating Synk Sweater Comb to version 3.8.8 or higher.
Attack Chain
- Attacker gains write access to a repository containing a .vervet.yaml configuration file.
- Attacker modifies the 'linters.<key>.optic-ci.original' field within the .vervet.yaml file.
- Attacker injects shell metacharacters and arbitrary commands into the branch name string.
- Victim triggers the Synk Sweater Comb linting process within the directory.
- The expectGitBranch() function reads the malicious branch name from the configuration file.
- The unsanitized input is passed directly to the shell via child_process.exec().
- The operating system executes the attacker-supplied commands with the privileges of the user running the lint command.
Impact
Successful exploitation allows for remote code execution on the target system. This could lead to a full compromise of a developer's workstation or a CI/CD build pipeline, potentially resulting in unauthorized access to source code, secrets, or internal network segments if the runner is improperly scoped.
Recommendation
- Upgrade Synk Sweater Comb to version 3.8.8 or later immediately to patch the command injection vulnerability in src/lint.ts.
- Audit all repositories using .vervet.yaml for suspicious branch name fields or injected shell syntax (e.g., semicolons, pipe characters, backticks).
- Limit the permissions of CI/CD runners to ensure that if arbitrary code execution occurs, the attacker cannot reach sensitive internal resources.
Immediate actions
Upgrade Synk Sweater Comb to 3.8.8
Mitigations
Upgrade Synk Sweater Comb to 3.8.8
CVE-2026-75486