Skip to content
Heist/ feed
Back to feed
Medium

mathlive's Lack of Escaping of HTML allows for XSS

Type: advisorySources: OSV

MathLive provides web components for math display and input. Prior to 0.110.0, MathLive fails to escape text-mode content in \text{} and \mbox{} commands in Box.toMarkup at src/core/box.ts, in xmlEscape, scanText, and text-mode output in src/formats/atom-to-math-ml.ts, and through convertLatexToMarkup, convertLatexToMathMl, , , and the default identity MathfieldElement.createHTML, allowing malicious input to run arbitrary JavaScript when rendered. This issue is fixed in version 0.110.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-54705
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 15:36 UTC · Revision 1

Source evidence

mathlive's Lack of Escaping of HTML allows for XSS

core-osv · Original source

Published 29 Jul 2026, 17:21 UTC

MathLive provides web components for math display and input. Prior to 0.110.0, MathLive fails to escape text-mode content in \text{} and \mbox{} commands in Box.toMarkup at src/core/box.ts, in xmlEscape, scanText, and text-mode output in src/formats/atom-to-math-ml.ts, and through convertLatexToMarkup, convertLatexToMathMl, , , and the default identity MathfieldElement.createHTML, allowing malicious input to run arbitrary JavaScript when rendered. This issue is fixed in version 0.110.0.

osv:CVE-2026-54705
Complete source record
{
  "id": "3f1e9ef4f8987c793f60213d968827c0ce3fbda8f7d9cdc5072791a6a5670073",
  "url": "https://osv.dev/vulnerability/CVE-2026-54705",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "mathlive's Lack of Escaping of HTML allows for XSS",
    "summary": "MathLive provides web components for math display and input. Prior to 0.110.0, MathLive fails to escape text-mode content in \\text{} and \\mbox{} commands in Box.toMarkup at src/core/box.ts, in xmlEscape, scanText, and text-mode output in src/formats/atom-to-math-ml.ts, and through convertLatexToMarkup, convertLatexToMathMl, , , and the default identity MathfieldElement.createHTML, allowing malicious input to run arbitrary JavaScript when rendered. This issue is fixed in version 0.110.0.",
    "evidence": "osv:CVE-2026-54705",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-54705",
      "aliases": [
        "CVE-2026-54705",
        "GHSA-fm7p-gw32-828p"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/arnog/mathlive",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "b0a4b033997d897970e40da9ad9a0ad90358a198"
                },
                {
                  "fixed": "5fe1c46153883f9ec0249a5c8c34e64aaae9cfb8"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.110.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "5fe1c46153883f9ec0249a5c8c34e64aaae9cfb8"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.109.2",
            "v0.109.1",
            "v0.109.0",
            "v0.108.3",
            "v0.108.2",
            "v0.108.1",
            "v0.108.0",
            "v0.107.1",
            "v0.107.0",
            "v0.106.0",
            "v0.105.3",
            "v0.105.2",
            "v0.105.1",
            "v0.105.0",
            "v0.104.2",
            "v0.104.1",
            "v0.104.0",
            "v0.103.0",
            "v0.102.0",
            "v0.101.2",
            "v0.101.1",
            "v0.100.0",
            "v0.99.0",
            "v0.94.0",
            "v0.72.3",
            "v0.72.2",
            "v0.72.1",
            "v0.72.0",
            "v0.71.0",
            "v0.70.0",
            "v0.69.11",
            "v0.69.10",
            "v0.69.9",
            "v0.69.8",
            "v0.69.7",
            "v0.69.6",
            "v0.69.5",
            "v0.69.4",
            "v0.69.3",
            "v0.69.2",
            "v0.69.1",
            "v0.69.0",
            "v0.68.0",
            "v0.67.0",
            "v0.66.1",
            "v0.66.0",
            "v0.65.0",
            "v0.64.0",
            "v0.63.1",
            "v0.63.0",
            "v0.62.0",
            "v0.61.0",
            "v0.60.1",
            "v0.58.0",
            "v0.58",
            "v0.57",
            "v0.57.0",
            "v0.56.0",
            "v0.55.0",
            "v0.54.1",
            "v0.54.0",
            "v0.53.3",
            "v0.53.2",
            "v0.53.1",
            "v0.53.0",
            "v0.52.0",
            "v0.51.1",
            "v0.51.0",
            "v0.50.8",
            "v0.50.7",
            "v0.50.6",
            "v0.50.5",
            "v0.50.4",
            "v0.50.3",
            "v0.50.2",
            "v0.50.1",
            "v0.50.0",
            "v0.35.1",
            "v0.35.0",
            "v0.34.0",
            "v0.33.2",
            "v0.33.1",
            "v0.33.0",
            "v0.32.9",
            "v0.32.2",
            "v0.32.0",
            "v0.32",
            "v0.31.0",
            "v0.30",
            "v0.29.1",
            "v0.29.0",
            "v0.29",
            "v0.28.0",
            "v0.28",
            "v0.27.4",
            "v0.27.3",
            "v0.27.2",
            "v0.27.1",
            "0.27.1",
            "v0.27.0",
            "0.27",
            "v0.26.0",
            "v0.26",
            "v0.25.0",
            "v0.25",
            "v0.24.1",
            "v0.24.0",
            "0.24",
            "v0.23.0",
            "v0.22.0",
            "v0.21.0",
            "v0.20.0",
            "v0.19.0",
            "v0.18.0",
            "v0.17.0",
            "v0.16.0",
            "v0.2.0",
            "v0.1.0",
            "v0.0.15",
            "v0.0.15-beta",
            "v0.0.14",
            "v0.0.14-beta"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54705.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:29.965017831Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54705.json",
        "https://github.com/arnog/mathlive/security/advisories/GHSA-fm7p-gw32-828p",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-54705",
        "https://github.com/arnog/mathlive/issues/3028",
        "https://github.com/arnog/mathlive/commit/5fe1c46153883f9ec0249a5c8c34e64aaae9cfb8"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-116"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54705.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-54705",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 496875,
  "published_at": "2026-07-29T17:21:20.414+00:00"
}