CVE-2015-9544: xdLocalStorage improper input validation in postMessage handler

CVE-2015-9544 · Severity: low · CVSS 3.1 · Published 2021-12-09

xdLocalStorage is a JavaScript library that enables cross-domain access to local storage via web messages. The library fails to validate the origin of incoming messages, allowing attackers who trick users into visiting malicious sites to steal or modify sensitive data stored in the local storage of trusted domains. This can lead to account compromise or unauthorized access to stored credentials and personal information.

Technologies: xdlocalstorage (npm). Vendors: npm.

Quick answers

Is CVE-2015-9544 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2015-9544 being exploited in the wild.
How severe is CVE-2015-9544?
Low severity, with a CVSS score of 3.1, published 9 December 2021.
Which products and versions are affected?
xdlocalstorage (npm) SEMVER:introduced=0,last_affected=2.0.5.
Is there a fix for CVE-2015-9544?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2015-9544 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2015-9544?
Check whether you run xdlocalstorage (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability is an improper input validation flaw (CWE-20) in the receiveMessage() function within xdLocalStoragePostMessageApi.js. The function processes incoming postMessage events without verifying the origin of the sender, violating the postMessage API's security recommendations. An attacker can craft malicious web messages from a controlled origin to read or modify local storage data of a victim's trusted site. The attack requires user interaction (victim must load a malicious site) but is network-reachable. No origin whitelisting mechanism is implemented. Patches and fixes are available in later versions of the library.

Affected products

  • xdLocalStorage xdLocalStorage through 2.0.5

Identifiers

  • CVE-2015-9544
  • GHSA-vrc7-6g8w-jh56

Timeline

  • 2020-04-07: disclosed
  • 2021-12-09: advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.