CVE-2025-55294

9.8 CRITICAL

📋 TL;DR

CVE-2025-55294 is a command injection vulnerability in screenshot-desktop npm package that allows attackers to execute arbitrary shell commands by controlling the format option. This affects any application using vulnerable versions of screenshot-desktop to capture screenshots. Successful exploitation gives attackers the same privileges as the calling process.

💻 Affected Systems

Products:
  • screenshot-desktop npm package
Versions: All versions before 1.15.2
Operating Systems: Windows, Linux, macOS
Default Config Vulnerable: ⚠️ Yes
Notes: Any application using screenshot-desktop with user-controlled format parameter is vulnerable. The vulnerability requires user input to be passed to the format option.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with privilege escalation to root/admin, data exfiltration, ransomware deployment, or complete system takeover.

🟠

Likely Case

Local privilege escalation, data theft, lateral movement within the network, or installation of persistent backdoors.

🟢

If Mitigated

Limited impact due to proper input validation, sandboxing, or running with minimal privileges.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires control over the format parameter passed to screenshot-desktop functions. The vulnerability is straightforward to exploit once an attacker can influence this input.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.15.2

Vendor Advisory: https://github.com/bencevans/screenshot-desktop/security/advisories/GHSA-gjx4-2c7g-fm94

Restart Required: No

Instructions:

1. Update screenshot-desktop to version 1.15.2 or later using npm update screenshot-desktop. 2. Verify the update with npm list screenshot-desktop. 3. Restart any applications using the package.

🔧 Temporary Workarounds

Input Validation

all

Implement strict input validation for the format parameter before passing to screenshot-desktop

Sandbox Execution

all

Run screenshot-desktop in a sandboxed environment with limited privileges

🧯 If You Can't Patch

  • Implement strict input validation to only allow safe format values
  • Run the application with minimal privileges and in isolated environments

🔍 How to Verify

Check if Vulnerable:

Check package.json or run npm list screenshot-desktop to see if version is below 1.15.2

Check Version:

npm list screenshot-desktop

Verify Fix Applied:

Verify screenshot-desktop version is 1.15.2 or higher using npm list screenshot-desktop

📡 Detection & Monitoring

Log Indicators:

  • Unusual shell commands executed from screenshot-desktop process
  • Suspicious child processes spawned by screenshot-desktop

Network Indicators:

  • Unexpected outbound connections from screenshot-desktop process

SIEM Query:

process.name:screenshot-desktop AND (process.cmdline:*;* OR process.cmdline:*&* OR process.cmdline:*|*)

🔗 References

📤 Share & Export