CVE-2025-45001
BaseFortify
Publication date: 2025-06-09
Last updated on: 2025-06-23
Assigner: MITRE
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| numan | react-native-keys | 0.7.11 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-312 | The product stores sensitive information in cleartext within a resource that might be accessible to another control sphere. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
The vulnerability in react-native-keys 0.7.11 involves sensitive information disclosure because the encryption cipher and Base64-encoded encrypted chunks are stored as plaintext within the compiled native binary. The cipher is generated using a weak and predictable method (JavaScript's Math.random()), making it guessable. Attackers can extract these secrets by performing static analysis on the native library, allowing them to reconstruct and decrypt API keys that were supposed to be protected. [1]
How can this vulnerability impact me? :
This vulnerability can lead to full recovery of API keys by attackers, enabling unauthorized access to backend services such as Firebase, Stripe, or AWS. This can result in data breaches, financial fraud, and reputational damage for affected organizations. [1]
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The vulnerability risks non-compliance with security standards and regulations such as PCI DSS and GDPR because it exposes sensitive API keys and potentially user data, undermining required protections for confidentiality and data security. [1]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by extracting the native library (libreact-native-keys.so) from the APK and performing static analysis to find plaintext Base64 chunks and the weakly generated cipher stored inside. Common commands include using 'strings' to search for Base64-encoded data and the cipher within the binary, and tools like Hopper for deeper static analysis. For example, you can run: 'strings libreact-native-keys.so | grep -E "[A-Za-z0-9+/=]{20,}"' to find Base64 chunks. [1]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include removing the react-native-keys library from your project and migrating to secure server-side API key management. Rotate any exposed API keys immediately. Implement secure storage of encryption secrets using hardware-backed keystores such as Android KeyStore or iOS Keychain, generate ephemeral runtime keys using secure enclaves, and move validation logic to the server side (e.g., Firebase App Check). Avoid storing secrets on the client side and conduct regular audits of third-party libraries for secure coding practices. [1]