GHSA-xvcc-vqjv-phqh: augment-vir: Shell Command Injection in `grep()` via Unsanitized `searchPattern`

Published Nov 9, 2026
·
Updated

augment-vir is a collection of helper functions. Prior to version 31.73.5, the grep() function exported by @augment-vir/node inserts caller-controlled search patterns directly into a double-quoted shell command string without sanitization (grep.ts:310). When the constructed command is passed to spawn() with shell: 'bash' (shell.ts:98-99), bash evaluates $() command substitution expressions embedded in the pattern, resulting in arbitrary OS command execution as the Node.js process user. Any downstream application that passes untrusted input to grep()'s pattern or patterns field is vulnerable to unauthenticated local (and potentially remote) code execution. This issue has been patched in version 31.73.5.

Affected Software

1 affected component
npm/@augment-vir/node<31.73.5

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade @augment-vir/node to a version that resolves this vulnerability.

    Fixed in 31.73.5

Event History

Nov 9, 2026
CVE Published
via OSV·08:55 PM
Data Sourced
via OSV·08:55 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which applications are exposed to this issue?

Downstream applications are exposed if they pass untrusted input into the grep() function's pattern or patterns field. The impact is local code execution and may be remote if an attacker can control that input remotely.

2

What does an attacker need to exploit it?

The attacker needs control of a search pattern that reaches grep(). No privileges are required, but the supplied vector indicates user interaction is required.

3

How can I determine whether my application is affected?

Check whether it uses @augment-vir/node versions earlier than 31.73.5 and whether untrusted data can flow to grep() through pattern or patterns. Such input can contain bash command substitution expressions that are evaluated when the command is run.

4

What should be done if an immediate upgrade is not possible?

Prevent untrusted input from reaching grep()'s pattern and patterns fields until the dependency can be updated. The issue is patched in version 31.73.5.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203