diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md index c3121f224703fb..61f7471bd80388 100644 --- a/doc/api/deprecations.md +++ b/doc/api/deprecations.md @@ -3843,6 +3843,21 @@ Type: Documentation-only `process.features.tls_alpn`, `process.features.tls_ocsp`, and `process.features.tls_sni` are deprecated, as their values are guaranteed to be identical to that of `process.features.tls`. +### DEP0190: Passing `args` to `node:child_process` `execFile`/`spawn` with `shell` option `true` + + + +Type: Documentation-only + +When an `args` array is passed to [`child_process.execFile`][] or [`child_process.spawn`][] with the option +`{ shell: true }`, the values are not escaped, only space-separated, which can lead to shell injection. + [NIST SP 800-38D]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf [RFC 6066]: https://tools.ietf.org/html/rfc6066#section-3 [RFC 8247 Section 2.4]: https://www.rfc-editor.org/rfc/rfc8247#section-2.4 @@ -3870,6 +3885,8 @@ deprecated, as their values are guaranteed to be identical to that of `process.f [`assert`]: assert.md [`asyncResource.runInAsyncScope()`]: async_context.md#asyncresourceruninasyncscopefn-thisarg-args [`buffer.subarray`]: buffer.md#bufsubarraystart-end +[`child_process.execFile`]: child_process.md#child_processexecfilefile-args-options-callback +[`child_process.spawn`]: child_process.md#child_processspawncommand-args-options [`child_process`]: child_process.md [`clearInterval()`]: timers.md#clearintervaltimeout [`clearTimeout()`]: timers.md#cleartimeouttimeout