CVE-2024-27980: Command injection via args parameter of child_process.spawn without shell option enabled on Windows

Published Apr 10, 2024
·
Updated

Due to the improper handling of batch files in childprocess.spawn / childprocess.spawnSync, a malicious command line argument can inject arbitrary commands and achieve code execution even if the shell option is not enabled.

Other sources

Node.js could allow a remote attacker to execute arbitrary commands on the system, caused by the improper handling of batch files in childprocess.spawn / childprocess.spawnSync. By sending a specially crafted command line argument using args parameter, an attacker could exploit this vulnerability to inject and execute arbitrary commands on the system.

— IBM

Affected Software

10 affected componentsFixes available
IBM Cognos Analytics<=12.0.0-12.0.3
IBM Cognos Analytics<=11.2.0-11.2.4 FP4
All of the following
Node.js Node.js>=18.0.0<18.20.2, >=20.0.0<20.12.2, >=21.0.0<21.7.3
18.20.220.12.221.7.3
Microsoft Windows*
Node.js Node.js>=18.0.0<18.20.2
18.20.2
Node.js Node.js>=20.0.0<20.12.2
20.12.2
Node.js Node.js>=20.0.0<20.15.1
20.15.1
Node.js Node.js>=22.0.0<22.0.0
22.0.0
Node.js Node.js>=21.0.0<21.7.3
21.7.3
Node.js Node.js>=22.0.0<22.4.1
22.4.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 18.20.2Fixed in 20.12.2Fixed in 21.7.3
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 18.20.2
  3. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 18.20.4
  4. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 20.12.2
  5. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 20.15.1
  6. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 22.0.0
  7. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 21.7.3
  8. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 22.4.1
  9. Configuration

    For sanitized input, pass { shell: true } when invoking child_process.spawn or child_process.spawnSync to avoid EINVAL errors for .bat or .cmd files.

    Node.js child_process.spawn/child_process.spawnSync on Windows shell = true

Event History

Apr 10, 2024
CVE Published
via Node.js·12:00 AM
Data Sourced
via Node.js·12:00 AM
DescriptionSeverity
Data Sourced
via Node.js·04:36 PM
Affected Software
Jan 9, 2025
CVE Published
via MITRE·12:33 AM
Data Sourced
via MITRE·12:33 AM
DescriptionSeverity
Data Sourced
via NVD·01:15 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What is the severity of CVE-2024-27980?

CVE-2024-27980 is rated as a high-severity vulnerability due to its potential for arbitrary code execution.

2

How do I fix CVE-2024-27980?

To mitigate CVE-2024-27980, apply the patches available for affected versions of IBM Cognos Analytics.

3

Which versions of IBM Cognos Analytics are affected by CVE-2024-27980?

CVE-2024-27980 affects IBM Cognos Analytics versions 11.2.0 to 11.2.4 FP4 and 12.0.0 to 12.0.3.

4

Can CVE-2024-27980 be exploited remotely?

Yes, CVE-2024-27980 can be exploited remotely by an attacker through crafted malicious command line arguments.

5

What causes the vulnerability in CVE-2024-27980?

CVE-2024-27980 is caused by improper handling of batch files in Node.js's child_process functions, allowing command injection.

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