Critical Malicious Code Vulnerability in @posthog/rrweb-replay Package
Summary
MAL-2025-191299: Malicious code in @posthog/rrweb-replay (npm). Affects @posthog/rrweb-replay versions 0.0.19. No fix is published. How to fix ↓
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.
No signup required · Results in about 60 seconds
Background
The @posthog/rrweb-replay package is a JavaScript library used for recording and replaying user interactions on web applications. It is commonly utilized for analytics and user experience improvements. However, the package has been compromised, leading to severe security risks for any application that integrates it.
Vulnerability Detail
The vulnerability originates from a malicious payload introduced by the Sha1-Hulud: The Second Coming NPM worm. This payload is designed to steal tokens and credentials from affected systems and publish them to GitHub. Additionally, it can propagate itself to other NPM packages owned by the user and may establish persistence through GitHub actions. The malicious code poses a significant risk, potentially compromising the entire system and even destroying the user's home directory.
How To Fix
This package is malicious. Remove it and rotate any credentials it could have accessed.
npm uninstall @posthog/rrweb-replay
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 measure, avoid using the @posthog/rrweb-replay package until it has been confirmed safe. Regularly monitor your application for any signs of compromise and consider using alternative packages for user interaction recording.
Conclusion
The @posthog/rrweb-replay package has been compromised, posing significant security risks to applications that utilize it. Immediate action is required to remove the package and secure any sensitive information. Utilizing tools like Vulert can help monitor for such vulnerabilities in the future.
See every vulnerability recorded for @posthog/rrweb-replay →
FAQ
The malicious code is designed to steal sensitive information such as tokens and credentials, and it can also propagate itself to other packages.
You can use Vulert, which monitors and alerts for open-source vulnerabilities in your software. Check your application against the vulnerability using the Vulert playground.
Immediately remove the package and rotate any secrets or keys stored on the affected system. Use npm uninstall @posthog/rrweb-replay to remove it.
Regularly audit your dependencies, use tools like Vulert for monitoring vulnerabilities, and ensure that you only install packages from trusted sources.
Failing to address this vulnerability can lead to unauthorized access to sensitive information, potential data loss, and complete compromise of the affected system.