Critical Malicious Code Vulnerability in cpplog Package

cpplog Updated 02 Oct 2025

Summary

14/08/2025
CRITICAL
No i
Critical
Not published

MAL-2025-17650: Malicious code in cpplog (npm). Affected versions are not published. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

The cpplog package is a logging utility for Node.js applications, designed to provide developers with an easy way to log messages and errors in their applications. It is widely used due to its simplicity and efficiency. However, recent findings have revealed that the package contains malicious code, posing significant risks to users and their applications.

Vulnerability Detail

The cpplog package has been identified to contain malicious code that can compromise the security of applications utilizing it. This vulnerability originated from the introduction of harmful code in version 0 and can lead to unauthorized access, data breaches, or system compromise. Users of this package are at risk of having their applications exploited by attackers leveraging this malicious code.

How To Fix

This package is malicious. Remove it and rotate any credentials it could have accessed.

npm uninstall cpplog

If it arrived as a transitive dependency, remove the package that pulled it in, then reinstall.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

As a temporary workaround, users can replace cpplog with an alternative logging package that does not have known vulnerabilities. Consider using packages like 'winston' or 'bunyan' for logging functionalities in your Node.js applications.

Conclusion

The cpplog package has been found to contain malicious code, posing significant risks to applications that utilize it. Users are urged to remove the package and consider alternatives to safeguard their applications. Utilizing tools like Vulert can help monitor for such vulnerabilities effectively.

See every vulnerability recorded for cpplog →

Share this vulnerability

FAQ

The malicious code can lead to unauthorized access and potential exploitation of the application, posing serious security risks.

You can use Vulert, which monitors and alerts for open-source vulnerabilities in real-time. Visit Vulert Scanner to check your application without any signup.

Currently, there is no patch available for cpplog. It is recommended to remove the package and use an alternative logging solution.

Remove cpplog from your project immediately and replace it with a secure alternative logging package.

Vulert uses the package-lock.json file to monitor and alert users in real-time about open-source vulnerabilities, ensuring your applications remain secure.

How To Fix

This package is malicious. Remove it and rotate any credentials it could have accessed.

npm uninstall cpplog

If it arrived as a transitive dependency, remove the package that pulled it in, then reinstall.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback