Skip to content
Heist/ feed
Back to feed
High

Cross-site Scripting in Directus

Type: advisorySources: OSV

Directus is a real-time API and App dashboard for managing SQL database content. Prior to version 9.7.0, unauthorized JavaScript (JS) can be executed by inserting an iframe into the rich text html interface that links to a file uploaded HTML file that loads another uploaded JS file in its script tag. This satisfies the regular content security policy header, which in turn allows the file to run any arbitrary JS. This issue was resolved in version 9.7.0. As a workaround, disable the live embed in the what-you-see-is-what-you-get by adding `{ "media_live_embeds": false }` to the _Options Overrides_ option of the Rich Text HTML interface.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2022-24814
Confirmed fixed CVEs
Not specified
Updated in this feed
6 Nov 2026, 04:17 UTC · Revision 1

Source evidence

Cross-site Scripting in Directus

core-osv · Original source

Published 4 Apr 2022, 17:50 UTC

Directus is a real-time API and App dashboard for managing SQL database content. Prior to version 9.7.0, unauthorized JavaScript (JS) can be executed by inserting an iframe into the rich text html interface that links to a file uploaded HTML file that loads another uploaded JS file in its script tag. This satisfies the regular content security policy header, which in turn allows the file to run any arbitrary JS. This issue was resolved in version 9.7.0. As a workaround, disable the live embed in the what-you-see-is-what-you-get by adding `{ "media_live_embeds": false }` to the _Options Overrides_ option of the Rich Text HTML interface.

osv:CVE-2022-24814
Complete source record
{
  "id": "827b5b128d3be9aefedfd6b02e8a1c3a15874a1281b1fe4402b0e04a48decea0",
  "url": "https://osv.dev/vulnerability/CVE-2022-24814",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Cross-site Scripting in Directus",
    "summary": "Directus is a real-time API and App dashboard for managing SQL database content. Prior to version 9.7.0, unauthorized JavaScript (JS) can be executed by inserting an iframe into the rich text html interface that links to a file uploaded HTML file that loads another uploaded JS file in its script tag. This satisfies the regular content security policy header, which in turn allows the file to run any arbitrary JS. This issue was resolved in version 9.7.0. As a workaround, disable the live embed in the what-you-see-is-what-you-get by adding `{ \"media_live_embeds\": false }` to the _Options Overrides_ option of the Rich Text HTML interface.",
    "evidence": "osv:CVE-2022-24814",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2022-24814",
      "aliases": [
        "CVE-2022-24814",
        "GHSA-xmjj-3c76-5w84"
      ],
      "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/directus/directus",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "c1da41d6719d4efdc5d0196019fb7b2c6672c575"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "9.7.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c1da41d6719d4efdc5d0196019fb7b2c6672c575"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v9.7.0"
                  },
                  {
                    "cpe": "cpe:2.3:a:rangerstudio:directus:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "9.7.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v9.6.0",
            "v9.5.2",
            "v9.5.1",
            "v9.5.0",
            "v9.4.3",
            "v9.4.2",
            "v9.4.1",
            "v9.4.0",
            "v9.3.0",
            "v9.2.2",
            "v9.2.1",
            "v9.2.0",
            "v9.1.2",
            "v9.1.1",
            "v9.1.0",
            "v9.0.1",
            "v9.0.0",
            "v9.0.0-rc.101",
            "v9.0.0-rc.100",
            "v9.0.0-rc.99",
            "v9.0.0-rc.98",
            "v9.0.0-rc.97",
            "v9.0.0-rc.96",
            "v9.0.0-rc.95",
            "v9.0.0-rc.94",
            "v9.0.0-rc.93",
            "v9.0.0-rc.92",
            "v9.0.0-rc.91",
            "v9.0.0-rc.90",
            "v9.0.0-rc.89",
            "v9.0.0-rc.88",
            "v9.0.0-rc.87",
            "v9.0.0-rc.86",
            "v9.0.0-rc.85",
            "v9.0.0-rc.84",
            "v9.0.0-rc.83",
            "v9.0.0-rc.82",
            "v9.0.0-rc.81",
            "v9.0.0-rc.80",
            "v9.0.0-rc.79",
            "v9.0.0-rc.78",
            "v9.0.0-rc.77",
            "v9.0.0-rc.76",
            "v9.0.0-rc.75",
            "v9.0.0-rc.74",
            "v9.0.0-rc.73",
            "v9.0.0-rc.72",
            "v9.0.0-rc.71",
            "v9.0.0-rc.70",
            "v9.0.0-rc.69",
            "v9.0.0-rc.68",
            "v9.0.0-rc.67",
            "v9.0.0-rc.66",
            "v9.0.0-rc.65",
            "v9.0.0-rc.64",
            "v9.0.0-rc.63",
            "v9.0.0-rc.62",
            "v9.0.0-rc.61",
            "v9.0.0-rc.60",
            "v9.0.0-rc.59",
            "v9.0.0-rc.58",
            "v9.0.0-rc.57",
            "v9.0.0-rc.56",
            "v9.0.0-rc.55",
            "v9.0.0-rc.54",
            "v9.0.0-rc.53",
            "v9.0.0-rc.52",
            "v9.0.0-rc.51",
            "v9.0.0-rc.50",
            "v9.0.0-rc.49",
            "v9.0.0-rc.48",
            "v9.0.0-rc.47",
            "v9.0.0-rc.46",
            "v9.0.0-rc.45",
            "v9.0.0-rc.44",
            "v9.0.0-rc.43",
            "v9.0.0-rc.42",
            "v9.0.0-rc.41",
            "v9.0.0-rc.40",
            "v9.0.0-rc.39",
            "v9.0.0-rc.38",
            "v9.0.0-rc.37",
            "v9.0.0-rc.36",
            "v9.0.0-rc.35",
            "v9.0.0-rc.34",
            "v9.0.0-rc.33",
            "v9.0.0-rc.32",
            "v9.0.0-rc.31",
            "v9.0.0-rc.30",
            "v9.0.0-rc.29",
            "v9.0.0-rc.28",
            "v9.0.0-rc.27",
            "v9.0.0-rc.25",
            "v9.0.0-rc.26",
            "v9.0.0-rc.24",
            "v9.0.0-rc.23",
            "v9.0.0-rc.22",
            "v9.0.0-rc.21",
            "v9.0.0-rc.20",
            "v9.0.0-rc.19",
            "v9.0.0-rc.18",
            "v9.0.0-rc.17",
            "v9.0.0-rc.15",
            "v9.0.0-rc.14",
            "v9.0.0-rc.13",
            "v9.0.0-rc.12",
            "v9.0.0-rc.11",
            "v9.0.0-rc.10",
            "v9.0.0-rc.9",
            "v9.0.0-rc.8",
            "v9.0.0-rc.7",
            "v9.0.0-rc.6",
            "v9.0.0-rc.5",
            "v9.0.0-rc.4",
            "v9.0.0-rc.3",
            "v9.0.0-rc.2",
            "v9.0.0-rc.1",
            "v9.0.0-rc.0",
            "v9.0.0-beta.14",
            "v9.0.0-beta.13",
            "v9.0.0-beta.12",
            "v9.0.0-beta.11",
            "v9.0.0-beta.10",
            "v9.0.0-beta.9",
            "v9.0.0-beta.8",
            "v9.0.0-beta.7",
            "v9.0.0-beta.5",
            "v9.0.0-beta.4",
            "v9.0.0-beta.3",
            "v9.0.0-beta.2",
            "v9.0.0-beta.1",
            "v9.0.0-beta.0",
            "v9.0.0-alpha.42",
            "v9.0.0-alpha.41",
            "v9.0.0-alpha.40",
            "v9.0.0-alpha.39",
            "v9.0.0-alpha.38",
            "v9.0.0-alpha.37",
            "v9.0.0-alpha.36",
            "v9.0.0-alpha.34",
            "v9.0.0-alpha.33",
            "v9.0.0-alpha.32",
            "v9.0.0-alpha.31",
            "v9.0.0-y.0",
            "v9.0.0-alpha.27",
            "v9.0.0-alpha.26",
            "v9.0.0-alpha.25",
            "v9.0.0-alpha.24",
            "v9.0.0-alpha.23",
            "v9.0.0-alpha.22",
            "v9.0.0-alpha.21",
            "v9.0.0-alpha.20",
            "v9.0.0-alpha.18",
            "v9.0.0-alpha.17",
            "v9.0.0-alpha.16",
            "v9.0.0-alpha.15",
            "v9.0.0-alpha.14",
            "v9.0.0-alpha.10",
            "v9.0.0-alpha.9",
            "v9.0.0-alpha.8",
            "v9.0.0-alpha.7",
            "v9.0.0-alpha.6",
            "v9.0.0-alpha.5",
            "v9.0.0-alpha.4"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-24814.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:46.790473028Z",
      "provider": "osv",
      "references": [
        "https://github.com/directus/directus/releases/tag/v9.7.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/24xxx/CVE-2022-24814.json",
        "https://github.com/directus/directus/security/advisories/GHSA-xmjj-3c76-5w84",
        "https://nvd.nist.gov/vuln/detail/CVE-2022-24814",
        "https://github.com/directus/directus/pull/12020"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-79"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/24xxx/CVE-2022-24814.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2022-24814",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 514593,
  "published_at": "2022-04-04T17:50:11+00:00"
}