Critical Malicious Code Vulnerability in react-native-retriable-fetch Package
Summary
MAL-2025-191004: Malicious code in react-native-retriable-fetch (npm). Affects react-native-retriable-fetch versions 2.0.1 – 2.0.2. 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 react-native-retriable-fetch package is a utility for making HTTP requests in React Native applications, designed to automatically retry failed requests. It is widely used for its convenience in handling network failures. However, recent findings have revealed that this package contains malicious code, posing significant security risks to users and their applications.
Vulnerability Detail
The vulnerability originates from the inclusion of malicious code within the react-native-retriable-fetch package. This code can compromise any computer that has the package installed, potentially allowing unauthorized access to sensitive information such as secrets and keys. Users are advised to treat any system running this package as fully compromised, as the malicious code may persist even after the package is removed.
How To Fix
This package is malicious. Remove it and rotate any credentials it could have accessed.
npm uninstall react-native-retriable-fetch
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 workaround, consider using alternative packages for handling HTTP requests in React Native, such as axios or fetch, until the vulnerability is resolved. Example code to replace react-native-retriable-fetch with axios:
const axios = require('axios');
axios.get('https://example.com/api')
.then(response => console.log(response.data))
.catch(error => console.error('Error fetching data:', error));
Conclusion
The discovery of malicious code in the react-native-retriable-fetch package poses a serious threat to users. Immediate action is required to remove the package and secure any compromised systems. Users are encouraged to explore alternative packages and utilize tools like Vulert for ongoing vulnerability monitoring.
See every vulnerability recorded for react-native-retriable-fetch →
FAQ
It is a utility for making HTTP requests in React Native applications, designed to automatically retry failed requests.
The malicious code can compromise the security of the system, allowing unauthorized access to sensitive information.
You can use Vulert, which monitors and alerts for open-source vulnerabilities in real-time. Visit Vulert Scanner to check your application without needing to sign up.
Immediately remove the react-native-retriable-fetch package and consider rotating any secrets or keys stored on the affected system.
Yes, alternatives include axios and the native fetch API, which can be used to handle HTTP requests securely.