High
Security advisory
An issue was discovered in xdLocalStorage through 2.0.5. The postData() function in xdLocalStoragePostMessageApi.js specifies the wildcard (*) as the targetOrigin when calling the postMessage() function on the parent object. Therefore any domain can load the application hosting the "magical iframe" and receive the messages that the "magical iframe" sends.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2020-11610
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 10:48 UTC · Revision 1
Source evidence
An issue was discovered in xdLocalStorage through 2.0.5. The postData() function in xdLocalStoragePostMessageApi.js specifies the wildcard (*) as the targetOrigin when calling the postMessage() function on the parent object. Therefore any domain can load the application hosting the "magical iframe" and receive the messages that the "magical iframe" sends.
osv:CVE-2020-11610
Complete source record
{
"id": "60a9fbe0ebfbfb9eb8168e0952a0d0cc38e16a7cdcae88bcf6b11bc2038247b3",
"url": "https://osv.dev/vulnerability/CVE-2020-11610",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2020-11610",
"summary": "An issue was discovered in xdLocalStorage through 2.0.5. The postData() function in xdLocalStoragePostMessageApi.js specifies the wildcard (*) as the targetOrigin when calling the postMessage() function on the parent object. Therefore any domain can load the application hosting the \"magical iframe\" and receive the messages that the \"magical iframe\" sends.",
"evidence": "osv:CVE-2020-11610",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2020-11610",
"aliases": [
"CVE-2020-11610",
"GHSA-mr5m-2385-2vcp"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/ofirdagan/cross-domain-local-storage",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "9c01ec482e063f6dabbca52d4dcf77adf85c2eee"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:cross_domain_local_storage_project:cross_domain_local_storage:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "2.0.5"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"2.0.5",
"2.0.4",
"2.0.3",
"2.0.2",
"2.0.1",
"2.0.0",
"1.0.12",
"1.0.11",
"1.0.10",
"1.0.9",
"1.0.8",
"1.0.7",
"1.0.6",
"1.0.5",
"1.0.4",
"1.0.3",
"1.0.2",
"1.0.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-11610.json"
}
}
],
"modified": "2026-10-20T10:51:44.285376451Z",
"provider": "osv",
"references": [
"https://github.com/ofirdagan/cross-domain-local-storage",
"https://grimhacker.com/exploiting-xdlocalstorage-localstorage-and-postmessage/#Missing-TargetOrigin-Magic-iframe"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2020-11610",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 382838,
"published_at": "2020-04-07T18:15:13.587+00:00"
}