CVE-2026-15033: OS Command Injection in check-peer-dependencies npm Package
CVE-2026-15033 is a command injection vulnerability in the check-peer-dependencies npm package (versions up to 4.3.4) that allows an authenticated attacker to execute arbitrary operating system commands. The flaw exists in the peerDependencies component where user-controlled input is passed unsanitized to a shell execution function, enabling remote code execution for any user with access to the affected package.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 6.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
- Weaknesses (CWE)
- CWE-77, CWE-78
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-07-08 / 2026-07-08
NVD description (verbatim)
A flaw has been found in christopherthielen check-peer-dependencies up to 4.3.4. Affected by this vulnerability is the function shelljs.exec of the file dist/packageUtils.js of the component peerDependencies. This manipulation causes os command injection. The attack may be initiated remotely. The project was informed of the problem early through an issue report but has not responded yet.
6 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability resides in the shelljs.exec() call within dist/packageUtils.js of check-peer-dependencies. The peerDependencies function fails to properly sanitize input before passing it to shell command execution, creating a classic OS command injection vulnerability (CWE-77, CWE-78). An authenticated attacker can manipulate input parameters to break out of the intended command context and inject arbitrary shell commands that execute with the privileges of the Node.js process.
Business impact
Organizations using check-peer-dependencies in development pipelines or CI/CD environments face code execution risk during dependency validation steps. A developer or automated system with package access could inadvertently trigger malicious input, leading to source code exfiltration, build artifact tampering, or lateral movement within development infrastructure. The impact is most severe in shared development environments or when the package is used in supply-chain tooling.
Affected systems
The christopherthielen check-peer-dependencies package is affected in all versions up to and including 4.3.4. The vulnerability is triggered specifically when the peerDependencies analysis function processes untrusted input. Determine your installed version via npm list check-peer-dependencies and verify if it falls within the affected range.
Exploitability
Exploitation requires authenticated access (existing permissions to invoke the package or supply input to it) and relies on network-accessible entry points where user input flows to the vulnerable function. The attack does not require user interaction or special configuration. CVSS 3.1 score of 6.3 (MEDIUM) reflects the authentication requirement coupled with low complexity and scope containment; impact is limited to confidentiality, integrity, and availability of the affected system only.
Remediation
Update check-peer-dependencies to a patched version released after 4.3.4. Contact the project maintainer or monitor the repository for a security release. Until a patch is available, restrict package access to trusted users and avoid processing untrusted input through the peerDependencies function. Consider using npm audit to flag this package in your dependency tree and evaluate whether the package is essential to your workflow.
Patch guidance
Check the christopherthielen/check-peer-dependencies GitHub repository for version releases newer than 4.3.4. The project was notified early but has not yet responded with a fix according to the CVE report. Monitor the repository's issues and releases closely. When a patched version is published, update via npm install check-peer-dependencies@latest and verify the fix in release notes before deploying to production environments.
Detection guidance
Search your npm install trees and lock files for check-peer-dependencies ≤4.3.4 using npm audit and SBOM tools. Monitor execution logs for unexpected shell command sequences or errors from packageUtils.js. In CI/CD logs, watch for shelljs.exec() calls with unusual arguments or command chains. Alert on any deviation in peerDependencies function behavior or unexpected process spawning during dependency checks.
Why prioritize this
Although rated MEDIUM severity, prioritize this vulnerability if you use check-peer-dependencies in automated build or deployment pipelines, especially in multi-tenant or shared development environments. The authentication requirement and process scope limit the CVSS score, but code execution during the build phase can compromise build artifacts, deployment credentials, or downstream systems. High-priority patches should focus on build environments and CI/CD integration points.
Risk score, explained
The CVSS 3.1 score of 6.3 reflects: (1) Network-accessible attack vector (AV:N) with low attack complexity (AC:L), (2) authentication requirement (PR:L) that lowers the score from 9+ to a MEDIUM range, (3) unchanged scope (S:U) limiting impact to the vulnerable component, and (4) low impact on confidentiality, integrity, and availability (C:L/I:L/A:L) constrained to the process context. The score would escalate if the package is used in privileged build processes or with escalated permissions.
Frequently asked questions
Do I need to take immediate action if I use check-peer-dependencies?
Yes, inventory your use of this package. If it is installed in development environments, build pipelines, or CI/CD systems, plan an upgrade to a patched version as soon as one is released. In the interim, restrict who can invoke the package and limit input sources to trusted channels only.
Will this vulnerability affect my end users or production systems?
Not directly, unless check-peer-dependencies is bundled into your production code or used in production deployment systems. The primary risk is to development and build environments. However, if exploited during the build phase, it could lead to compromised artifacts being released.
How do I check if I'm vulnerable?
Run 'npm list check-peer-dependencies' in your project. If the version is 4.3.4 or earlier, you are affected. Use npm audit for automated scanning, and cross-reference against this CVE to confirm exposure.
Is there a workaround if I cannot update immediately?
Limit access to the development environment where check-peer-dependencies is used, avoid passing untrusted input to the peerDependencies function, and consider isolating the package in a container or sandbox. Monitor execution closely, but upgrading remains the recommended long-term fix.
This analysis is provided for informational purposes and based on publicly disclosed vulnerability data as of the publication date. Verify all patch versions and remediation steps directly with the official christopherthielen/check-peer-dependencies repository and vendor advisories before taking action. SEC.co does not provide legal or compliance advice; consult your security and legal teams regarding regulatory obligations. Exploitation details are intentionally limited; this document is intended to support defensive security decisions only. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-10279MEDIUMOS Command Injection in wezterm-mcp 0.1.0
- CVE-2026-11341MEDIUMD-Link DWR-M920 Command Injection Vulnerability – Patch & Detection Guide
- CVE-2026-11408MEDIUMOS Command Injection in vertex-app Log Viewer Endpoint
- CVE-2026-12814MEDIUMComfast CF-WR631AX V3 Command Injection Vulnerability
- CVE-2026-12815MEDIUMOS Command Injection in Coolify 4.0.0 Image Name Handler
- CVE-2026-13560MEDIUMEdimax EW-7478APC Command Injection Vulnerability
- CVE-2026-13561MEDIUMEdimax EW-7478APC Remote Command Injection Vulnerability
- CVE-2026-13581MEDIUMEdimax EW-7478APC Remote Command Injection via rootAPmac Parameter