CVE-2026-61824: Defuddle: XSS via unescaped attribute interpolation in site extractors

Published Aug 21, 2026
·
Updated

Summary

An Improper Neutralization of Input During Web Page Generation issue in the site extractor component allows an attacker-controlled attribute value to be injected into output HTML without escaping. An attacker who crafts a malicious HTML page or controls content on a matching domain can execute arbitrary scripts when a victim processes the page, resulting in Cross-Site Scripting (XSS). This affects defuddle through 0.19.0 and has been patched in version 0.19.1.

Impact

This vulnerability allows for Cross-Site Scripting (XSS) execution without needing to compromise external websites. Affected consumers include: - Obsidian Web Clipper, - web services serving the parsed output directly as HTML, and - any downstream application rendering the unsanitized HTML results

Patch This issue has been patched in defuddle version 0.19.1. Users are encouraged to update to the latest release.

Other sources

Defuddle cleans up HTML pages. Prior to 0.19.1, site extractors interpolate page-derived image alt and src values, og:image values, and video descriptions into HTML strings without context-appropriate escaping, and buildExtractorResponse() returns this contentHtml without the main pipeline's DOM-based sanitization. The affected paths include src/extractors/x-article.ts, src/extractors/substack.ts, and src/extractors/youtube.ts. A malicious page or attacker-controlled content on a matching domain can inject event-handler attributes or javascript URLs that execute when a victim or downstream application renders the extracted HTML. This issue is fixed in version 0.19.1.

MITRE

Affected Software

2 affected componentsFixes available
Defuddle Defuddle<0.19.1
npm/defuddle<=0.19.0
0.19.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/defuddle to a version that resolves this vulnerability.

    Fixed in 0.19.1
  2. Upgrade

    Upgrade defuddle to a version that resolves this vulnerability.

    Fixed in 0.19.1

Event History

Aug 21, 2026
CVE Published
via MITRE·08:12 PM
Data Sourced
via MITRE·08:12 PM
DescriptionSeverityWeakness
Advisory Published
via GitHub·08:54 PM
Data Sourced
via GitHub·08:54 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Who is exposed to exploitation?

Applications that use Defuddle versions before 0.19.1 and render contentHtml returned by affected site extractors are exposed. The relevant extractors are x-article, substack, and youtube, particularly when processing malicious pages or attacker-controlled content on domains matched by those extractors.

2

What does an attacker need to exploit this issue?

An attacker needs to control page-derived values such as image alt text, image sources, og:image values, or video descriptions on content processed by an affected extractor. They also need a victim or downstream application to render the resulting extracted HTML.

3

Are default sanitization protections sufficient?

No. The affected extractor response path returns contentHtml without the main pipeline's DOM-based sanitization, so rendering that output can allow injected event-handler attributes or javascript URLs to execute.

4

How can I remediate the issue?

Upgrade Defuddle to version 0.19.1, which fixes the issue. Until upgrading, avoid rendering contentHtml from the affected extractor paths without context-appropriate sanitization.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203