Skip to content
Heist/ feed
Back to feed
Medium

MISP: Unescaped HTML Injection in PDF Report Element Rendering

Type: advisorySources: OSV

MISP contains an HTML injection vulnerability in the MISPElementHTMLFormatterTool component, which is responsible for rendering MISP element references (attributes, objects, and tags) into inline HTML during PDF report export via the convert_markdown_to_pdf module. The attribute(), objectAttribute(), object(), and tag() methods interpolated user-controlled fields (attribute type, attribute value, object name, object relation, tag name, tag colour, and tag text colour) directly into HTML templates without applying HTML entity encoding. An authenticated user with the ability to create or modify MISP attributes, objects, or tags could embed arbitrary HTML markup in these fields. When a report containing such elements was exported to PDF, the unescaped content was rendered as live HTML rather than inert text, potentially injecting script tags, breaking the document structure, or altering the visual content of the exported report. Additionally, the attribute() method contained a template with hardcoded sample values ("domain-ip" and "google.com") instead of format placeholders, meaning every plain attribute reference in a PDF displayed the sample text rather than the actual indicator value, constituting a data-integrity defect in the exported document. The vulnerability requires an authenticated actor with write access to MISP elements and a subsequent PDF export of a report referencing those elements. The security impact is primarily to the integrity of the exported document and,

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-88921
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 21:19 UTC · Revision 1

Source evidence

MISP: Unescaped HTML Injection in PDF Report Element Rendering

core-osv · Original source

Published 10 Sept 2026, 13:41 UTC

MISP contains an HTML injection vulnerability in the MISPElementHTMLFormatterTool component, which is responsible for rendering MISP element references (attributes, objects, and tags) into inline HTML during PDF report export via the convert_markdown_to_pdf module. The attribute(), objectAttribute(), object(), and tag() methods interpolated user-controlled fields (attribute type, attribute value, object name, object relation, tag name, tag colour, and tag text colour) directly into HTML templates without applying HTML entity encoding. An authenticated user with the ability to create or modify MISP attributes, objects, or tags could embed arbitrary HTML markup in these fields. When a report containing such elements was exported to PDF, the unescaped content was rendered as live HTML rather than inert text, potentially injecting script tags, breaking the document structure, or altering the visual content of the exported report. Additionally, the attribute() method contained a template with hardcoded sample values ("domain-ip" and "google.com") instead of format placeholders, meaning every plain attribute reference in a PDF displayed the sample text rather than the actual indicator value, constituting a data-integrity defect in the exported document. The vulnerability requires an authenticated actor with write access to MISP elements and a subsequent PDF export of a report referencing those elements. The security impact is primarily to the integrity of the exported document and,

osv:CVE-2026-88921
Complete source record
{
  "id": "187396381fca76c17d062fa0b247c0a7fd61a9a813b14fd2663331eca1c94fe9",
  "url": "https://osv.dev/vulnerability/CVE-2026-88921",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "MISP: Unescaped HTML Injection in PDF Report Element Rendering",
    "summary": "MISP contains an HTML injection vulnerability in the MISPElementHTMLFormatterTool component, which is responsible for rendering MISP element references (attributes, objects, and tags) into inline HTML during PDF report export via the convert_markdown_to_pdf module. The attribute(), objectAttribute(), object(), and tag() methods interpolated user-controlled fields (attribute type, attribute value, object name, object relation, tag name, tag colour, and tag text colour) directly into HTML templates without applying HTML entity encoding. An authenticated user with the ability to create or modify MISP attributes, objects, or tags could embed arbitrary HTML markup in these fields. When a report containing such elements was exported to PDF, the unescaped content was rendered as live HTML rather than inert text, potentially injecting script tags, breaking the document structure, or altering the visual content of the exported report. Additionally, the attribute() method contained a template with hardcoded sample values (\"domain-ip\" and \"google.com\") instead of format placeholders, meaning every plain attribute reference in a PDF displayed the sample text rather than the actual indicator value, constituting a data-integrity defect in the exported document. The vulnerability requires an authenticated actor with write access to MISP elements and a subsequent PDF export of a report referencing those elements. The security impact is primarily to the integrity of the exported document and,",
    "evidence": "osv:CVE-2026-88921",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-88921",
      "aliases": [
        "CVE-2026-88921"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/misp/misp",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "20f72101371d18afc5578d52e1543de1a19ef219"
                },
                {
                  "fixed": "949744a4b"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.5.46"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "SplitRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "949744a4b"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.5.45",
            "v2.5.44",
            "v2.5.43",
            "v2.5.42",
            "v2.5.41",
            "v2.5.40",
            "v2.5.39",
            "v2.5.37",
            "v2.5.36",
            "v2.5.35",
            "v2.5.34",
            "v2.5.33",
            "v2.5.32",
            "v2.5.31",
            "v2.5.30",
            "v2.5.29",
            "v2.5.28",
            "v2.5.27",
            "v2.5.26",
            "v2.5.25",
            "v2.5.24",
            "v2.5.23",
            "v2.5.22",
            "v2.5.21",
            "v2.5.20",
            "v2.5.19",
            "v2.5.18",
            "v2.5.17",
            "v2.5.16",
            "v2.5.15",
            "v2.5.12",
            "v2.5.14",
            "v2.5.13",
            "v2.5.11",
            "v2.5.10",
            "v2.5.9",
            "v2.5.8",
            "v2.5.7",
            "v2.5.0",
            "v2.4.196",
            "v2.4.195",
            "v2.4.194",
            "v2.4.193",
            "v2.4.192",
            "v2.4.191",
            "v2.4.190",
            "v2.4.189",
            "v2.4.188",
            "v2.4.187",
            "v2.4.186",
            "v2.4.175",
            "v2.4.185",
            "v2.4.183",
            "v2.4.184",
            "v2.4.153",
            "v2.4.152",
            "v2.4.137",
            "v2.4.136",
            "v2.4.134",
            "v2.4.133",
            "v2.4.130",
            "v2.4.128",
            "v2.4.127",
            "v2.4.125",
            "v2.4.123",
            "v2.4.122",
            "v2.4.121",
            "v2.4.120",
            "v2.4.118",
            "v2.4.111",
            "rm",
            "v2.4.110",
            "v2.4.109",
            "codename/tellurium",
            "v2.4.107",
            "v2.4.106",
            "v2.4.102",
            "v2.4.101",
            "v2.4.100",
            "v2.4.98",
            "v2.4.96",
            "v2.4.95",
            "v2.4.94",
            "v2.4.93",
            "v2.4.91",
            "v2.4.89",
            "v2.4.88",
            "v2.4.87",
            "v2.4.86",
            "v2.4.85",
            "v2.4.83",
            "v2.4.82",
            "v2.4.80",
            "v2.4.78",
            "v2.4.65",
            "v2.4.64",
            "v2.4.63",
            "v2.4.62",
            "v2.4.61",
            "v2.4.60",
            "v2.4.59",
            "v2.4.58",
            "v2.4.57",
            "v2.4.56",
            "v2.4.54",
            "v2.4.53",
            "v2.4.52",
            "v2.4.51",
            "v2.4.50",
            "v2.4.48",
            "v2.4.47",
            "v2.4.46",
            "v2.4.45",
            "v2.4.43",
            "v2.4.39",
            "v2.4.38",
            "v2.4.37",
            "v2.4.36",
            "v2.4.35",
            "v2.4.34",
            "v2.4.27",
            "v2.4.26",
            "v2.4.25",
            "v2.4.24",
            "v2.4.23",
            "v2.4.22",
            "v2.4.21",
            "v2.4.20",
            "v2.4.18",
            "v2.4.17",
            "v2.4.16",
            "v2.4.15",
            "v2.4.14",
            "v2.4.13",
            "v2.4.11",
            "v2.4.10",
            "v2.4.9",
            "v2.4.7",
            "v2.4.5",
            "v2.4.4",
            "v2.4.3",
            "v2.4.2",
            "v2.4.1",
            "v2.4.0",
            "v2.3.0",
            "v0.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-88921.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:39.548598870Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88921.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-88921",
        "https://github.com/MISP/MISP/commit/949744a4b",
        "https://github.com/MISP/MISP"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-116",
          "CWE-79"
        ],
        "cna_assigner": "CIRCL",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88921.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-88921",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 507167,
  "published_at": "2026-09-10T13:41:51.214+00:00"
}