CVE-2026-35467
Exposure of Stored API Keys via Unprotected Browser Client Storage
Publication date: 2026-04-02
Last updated on: 2026-04-03
Assigner: CERT/CC
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| certcc | cveclient | 1.0.25 |
| certcc | cveclient | 1.1.15 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-522 | The product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability involves stored API keys in a temporary browser client that are not marked as protected. Because of this, JavaScript console access or other errors can allow an attacker to extract the encryption credentials.
How can this vulnerability impact me? :
The vulnerability can lead to unauthorized extraction of encryption credentials through the JavaScript console or error messages. This could allow attackers to gain access to sensitive API keys, potentially compromising the security of applications or services that rely on those keys.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The vulnerability involves stored API keys in the browser client not being marked as protected, allowing extraction of encryption credentials via JavaScript console or errors. This could lead to unauthorized access to sensitive API keys.
Such exposure of sensitive credentials can impact compliance with standards and regulations like GDPR and HIPAA, which require protection of sensitive data and credentials to prevent unauthorized access and data breaches.
The fix implemented prevents plaintext API key storage, enforces non-extractable private key storage, and adds error handling to avoid silent persistence of plaintext keys, thereby improving security and reducing risk of credential leakage.
By mitigating the risk of credential exposure, the update helps maintain compliance with data protection requirements in common standards and regulations that mandate safeguarding authentication credentials and sensitive information.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
Detection of this vulnerability involves checking whether API keys are stored in plaintext in browser storage before encryption is applied, or if the RSA private key is stored as an extractable key in IndexedDB.
You can inspect the browser's developer tools to look for API keys stored in localStorage or sessionStorage in plaintext, especially immediately after login.
Additionally, you can check IndexedDB entries to verify if the RSA private key is marked as non-extractable or if it can be exported as a JSON Web Key (JWK).
- Open browser developer tools (F12) and navigate to the Application tab.
- Check localStorage and sessionStorage for any plaintext API keys.
- Inspect IndexedDB databases related to the application and attempt to export stored keys.
- Use browser console commands such as `localStorage.getItem('keyName')` or `sessionStorage.getItem('keyName')` to retrieve stored keys.
- Use IndexedDB inspection tools in developer tools or scripts to query stored keys and check their extractability.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include updating the cveClient application to the fixed versions where the vulnerability is addressed.
The fix involves preventing plaintext API key storage during login by delaying storage until encryption is enabled, storing the RSA private key as a non-extractable CryptoKey in IndexedDB, and adding error handling for encryption script loading failures.
Ensure that the encryption script (`encrypt-storage.js`) loads correctly and that API keys are only stored encrypted in browser storage.
- Upgrade `cveInterface.js` to version 1.0.25 or later.
- Upgrade `encrypt-storage.js` to version 1.1.15 or later.
- Verify that the RSA private key is stored with the `extractable: false` flag to prevent extraction.
- Implement Content Security Policy (CSP) headers to prevent unauthorized script loading and reduce risk of script injection.
- Warn users if encryption scripts fail to load and avoid storing API keys in persistent localStorage in such cases.