Skip to content
Heist/ feed
Back to feed
Low

Defuddle: XSS via unescaped string interpolation in _findContentBySchemaText image tag

Type: advisorySources: OSV

Defuddle cleans up HTML pages. Prior to version 0.9.0, the _findContentBySchemaText method in src/defuddle.ts interpolates image src and alt attributes directly into an HTML string without escaping. An attacker can use a " in the alt attribute to break out of the attribute context and inject event handler. This issue has been patched in version 0.9.0.

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

Source evidence

Defuddle: XSS via unescaped string interpolation in _findContentBySchemaText image tag

core-osv · Original source

Published 7 Mar 2026, 05:49 UTC

Defuddle cleans up HTML pages. Prior to version 0.9.0, the _findContentBySchemaText method in src/defuddle.ts interpolates image src and alt attributes directly into an HTML string without escaping. An attacker can use a " in the alt attribute to break out of the attribute context and inject event handler. This issue has been patched in version 0.9.0.

osv:CVE-2026-30830
Complete source record
{
  "id": "03b88855e186007ce1d7a9dd71a768b7e2f220b37b2bc13c67f18b6e97625348",
  "url": "https://osv.dev/vulnerability/CVE-2026-30830",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Defuddle: XSS via unescaped string interpolation in _findContentBySchemaText image tag",
    "summary": "Defuddle cleans up HTML pages. Prior to version 0.9.0, the _findContentBySchemaText method in src/defuddle.ts interpolates image src and alt attributes directly into an HTML string without escaping. An attacker can use a \" in the alt attribute to break out of the attribute context and inject event handler. This issue has been patched in version 0.9.0.",
    "evidence": "osv:CVE-2026-30830",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CVE-2026-30830",
      "aliases": [
        "CVE-2026-30830",
        "GHSA-5mq8-78gm-pjmq"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:P"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/kepano/defuddle",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "440f9e8ca92a7be7871aeb07200190328340dbbf"
                },
                {
                  "fixed": "f154cb740ee603431b69638273af737a27156df9"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:kepano:defuddle:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.9.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "f154cb740ee603431b69638273af737a27156df9"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "0.8.0",
            "0.7.0",
            "0.6.6",
            "0.6.5",
            "0.6.4",
            "0.6.3",
            "0.6.2",
            "0.6.1",
            "0.6.0",
            "0.5.4",
            "0.5.3",
            "0.5.2",
            "0.5.1",
            "0.5.0",
            "0.4.0",
            "0.3.8",
            "0.3.7",
            "0.3.6",
            "0.3.4",
            "0.3.3",
            "0.3.2",
            "0.3.1",
            "0.3.0",
            "0.2.4",
            "0.2.3",
            "0.2.2",
            "0.2.1",
            "0.2.0",
            "0.1.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-30830.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:32.436527301Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/30xxx/CVE-2026-30830.json",
        "https://github.com/kepano/defuddle/security/advisories/GHSA-5mq8-78gm-pjmq",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-30830",
        "https://github.com/kepano/defuddle/commit/f154cb740ee603431b69638273af737a27156df9"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-79"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/30xxx/CVE-2026-30830.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-30830",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 499412,
  "published_at": "2026-03-07T05:49:15.964+00:00"
}