Cloudanix VulnDB

CVE-2024-1554

None

CVSS

—

EPSS

0.4%

Published

Feb 20, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A browser caching mistake could let attackers make users see the wrong version of a webpage instead of the real one.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Moderate
Impact
Data Tampering
Component
Application
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The fetch() API and navigation requests incorrectly shared a browser cache key that omitted optional request headers, allowing a fetch() response to be stored and later served for a navigation to the same URL.

Why it matters to the business

Users of affected browsers may be shown stale or attacker-controlled content instead of the expected page, which can undermine trust in web applications and enable targeted content manipulation attacks.

How an attack unfolds

An attacker crafts a fetch() request that includes specific headers to a target URL, stores a malicious response in the shared cache, then induces a victim to navigate to the same URL where the poisoned cached response is delivered instead of the legitimate one.

How to fix it

Upgrade Firefox to version 123 or later to ensure fetch() and navigation requests use separate cache keys that incorporate optional headers.

How to confirm the fix worked

Confirm the browser version is 123 or higher; test by issuing fetch requests with varying headers followed by navigation and verifying distinct responses are received.

Typical attack path

  1. Identify a target URL that can be fetched with additional headers.
  2. Issue a fetch() request containing attacker-controlled headers to prime the cache with a chosen response.
  3. Trick the victim into navigating directly to the same URL via link, redirect, or social engineering.
  4. Victim receives the cached poisoned response instead of the expected server content.

How to detect it

Client-side cache poisoning leaves minimal server-side artifacts; review browser cache inspection tools or proxy logs for unexpected responses that match previously fetched content with differing headers.

What your security team should do

  • Prioritize deployment of Firefox 123+ across all managed endpoints.
  • Monitor vendor release notes for any related cache-handling changes in subsequent updates.
  • Educate users on verifying browser version and applying updates promptly.

The record

The `fetch()` API and navigation incorrectly shared the same cache, as the cache key did not include the optional headers `fetch()` may contain. Under the correct circumstances, an attacker may have been able to poison the local browser cache by priming it with a `fetch()` response controlled by the additional headers. Upon navigation to the same URL, the user would see the cached response instead of the expected response. This vulnerability affects Firefox < 123.

Affected packages

Ecosystem Package Introduced Fixed
Ubuntu:18.04:LTS mozjs38 0 No fix
Ubuntu:18.04:LTS mozjs52 0 No fix
Ubuntu:20.04:LTS firefox 0 123.0+build3-0ubuntu0.20.04.1
Ubuntu:20.04:LTS mozjs52 0 No fix
Ubuntu:20.04:LTS mozjs68 0 No fix
Ubuntu:22.04:LTS mozjs102 0 No fix
Ubuntu:22.04:LTS mozjs78 0 No fix
Ubuntu:22.04:LTS mozjs91 0 No fix
Ubuntu:24.04:LTS mozjs102 0 No fix
Ubuntu:Pro:18.04:LTS mozjs38 0 No fix
Ubuntu:Pro:18.04:LTS mozjs52 0 No fix
Ubuntu:Pro:20.04:LTS mozjs52 0 No fix
Ubuntu:Pro:20.04:LTS mozjs68 0 No fix
Ubuntu:Pro:22.04:LTS mozjs78 0 No fix
Ubuntu:Pro:24.04:LTS mozjs102 0 No fix
openSUSE:Tumbleweed MozillaFirefox 0 123.0-1.1
openSUSE:Tumbleweed firefox-esr 0 128.5.1-1.1

Related vulnerabilities