CVE-2025-69202

6.5 MEDIUM

📋 TL;DR

Axios Cache Interceptor versions before 1.11.1 incorrectly cache responses without considering Authorization headers, allowing cached responses from one user's authenticated session to be served to other users with different auth tokens. This leads to authorization bypass and potential data leakage across user sessions. Only server-side applications using axios-cache-interceptor to call upstream services with different auth tokens are affected.

💻 Affected Systems

Products:
  • axios-cache-interceptor
Versions: All versions before 1.11.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects server-side applications using axios-cache-interceptor to call upstream services with different auth tokens. Browser/client-side applications are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Sensitive user data from one authenticated session is served to unauthorized users, leading to complete authorization bypass and data leakage across all user sessions.

🟠

Likely Case

Users receive cached responses from other users' sessions, potentially exposing personal data, preferences, or authorization tokens to unauthorized parties.

🟢

If Mitigated

With proper controls, impact is limited to potential performance degradation from cache misses, but no data leakage occurs.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires access to the vulnerable application and understanding of cache behavior. The vulnerability is inherent to the library's design.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.11.1

Vendor Advisory: https://github.com/arthurfiorette/axios-cache-interceptor/security/advisories/GHSA-x4m5-4cw8-vc44

Restart Required: Yes

Instructions:

1. Update axios-cache-interceptor to version 1.11.1 or later. 2. Run npm update axios-cache-interceptor or yarn upgrade axios-cache-interceptor. 3. Restart your application server.

🔧 Temporary Workarounds

Disable caching for requests with Authorization headers

all

Manually configure axios-cache-interceptor to skip caching for requests that include Authorization headers

// In your axios configuration:
axios.create({
  adapter: setupCache(axios.defaults.adapter, {
    methods: ['get'],
    cachePredicate: {
      responseMatch: (response) => !response.config.headers.Authorization
    }
  })
})

🧯 If You Can't Patch

  • Disable axios-cache-interceptor entirely for all requests that use Authorization headers
  • Implement application-level caching that properly respects Vary headers and authorization tokens

🔍 How to Verify

Check if Vulnerable:

Check package.json or node_modules/axios-cache-interceptor/package.json for version number. If version is less than 1.11.1, the system is vulnerable.

Check Version:

npm list axios-cache-interceptor | grep axios-cache-interceptor

Verify Fix Applied:

Verify the installed version is 1.11.1 or higher and test that requests with different Authorization headers do not share cache responses.

📡 Detection & Monitoring

Log Indicators:

  • Multiple users receiving identical cached responses despite different auth tokens
  • Cache hits for requests with varying Authorization headers

Network Indicators:

  • Identical response bodies for requests with different Authorization headers
  • Missing Vary: Authorization header in upstream service responses

SIEM Query:

Search for identical response payloads across multiple user sessions within short timeframes when using axios-cache-interceptor

🔗 References

📤 Share & Export