---
id: CVE-2026-51190
title: >-
  The "s init" command in Serverless-Devs @serverless-devs/s <= 3.1.11 passes
  unsanitized user input to child_process.spawn() with shell: true
summary: >-
  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…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-78
published: '2026-08-03'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T16:04:24.933'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-51190'
references:
  - url: 'https://gist.github.com/j311yl0v3u/5600afea3bea1337805c2e335bd4ae8e'
    label: cve@mitre.org
  - url: 'https://gist.github.com/j311yl0v3u/5600afea3bea1337805c2e335bd4ae8e'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
epss: 0.01876
epssPercentile: 0.78519
ingestedAt: '2026-09-09T16:14:05.511Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
