CVE-2021-23330

9.8 CRITICAL

📋 TL;DR

CVE-2021-23330 is a command injection vulnerability in the launchpad npm package that allows attackers to execute arbitrary commands on the host system via the stop function. All versions of launchpad are affected, putting any application using this package at risk of remote code execution.

💻 Affected Systems

Products:
  • launchpad npm package
Versions: All versions before fix
Operating Systems: All operating systems where Node.js runs
Default Config Vulnerable: ⚠️ Yes
Notes: Any application using the launchpad package's stop function with user-controlled input is vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with attacker gaining complete control over the server, allowing data theft, lateral movement, and persistent backdoor installation.

🟠

Likely Case

Remote code execution leading to data exfiltration, cryptocurrency mining, or participation in botnets.

🟢

If Mitigated

Limited impact with proper input validation and sandboxing, potentially only affecting the application's own data.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires user input to reach the vulnerable stop function, which is common in web applications.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: launchpad version with the fix applied

Vendor Advisory: https://github.com/bitovi/launchpad/pull/124

Restart Required: Yes

Instructions:

1. Update launchpad package to patched version. 2. Run 'npm update launchpad' or update package.json. 3. Restart the application.

🔧 Temporary Workarounds

Input Validation

all

Implement strict input validation for any parameters passed to launchpad functions

Sandbox Execution

all

Run the application in a container or sandboxed environment to limit potential damage

🧯 If You Can't Patch

  • Remove or disable functionality using the launchpad stop function
  • Implement network segmentation and strict firewall rules to limit attack surface

🔍 How to Verify

Check if Vulnerable:

Check if your application uses launchpad package and calls the stop function with user input

Check Version:

npm list launchpad

Verify Fix Applied:

Verify launchpad package version is updated and test that command injection attempts are blocked

📡 Detection & Monitoring

Log Indicators:

  • Unusual process spawns from Node.js application
  • Suspicious command execution patterns

Network Indicators:

  • Unexpected outbound connections from application server
  • Command and control traffic patterns

SIEM Query:

process.name:cmd.exe OR process.name:bash AND parent.name:node.exe

🔗 References

📤 Share & Export