Cross-site Scripting (XSS) Affecting php-league-commonmark package, versions <2.3.9-1+deb12u1


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.38% (30th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-ECHOLATEST-PHPLEAGUECOMMONMARK-18612362
  • published11 Aug 2026
  • disclosed5 May 2025

Introduced: 5 May 2025

CVE-2025-46734  (opens in a new tab)
CWE-79  (opens in a new tab)

How to fix?

Upgrade Echo:latest php-league-commonmark to version 2.3.9-1+deb12u1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream php-league-commonmark package and not the php-league-commonmark package as distributed by Echo. See How to fix? for Echo:latest relevant fixed versions and status.

league/commonmark is a PHP Markdown parser. A cross-site scripting (XSS) vulnerability in the Attributes extension of the league/commonmark library (versions 1.5.0 through 2.6.x) allows remote attackers to insert malicious JavaScript calls into HTML. The league/commonmark library provides configuration options such as html_input: &#39;strip&#39; and allow_unsafe_links: false to mitigate cross-site scripting (XSS) attacks by stripping raw HTML and disallowing unsafe links. However, when the Attributes Extension is enabled, it introduces a way for users to inject arbitrary HTML attributes into elements via Markdown syntax using curly braces. Version 2.7.0 contains three changes to prevent this XSS attack vector: All attributes starting with on are considered unsafe and blocked by default; support for an explicit allowlist of allowed HTML attributes; and manually-added href and src attributes now respect the existing allow_unsafe_links configuration option. If upgrading is not feasible, please consider disabling the AttributesExtension for untrusted users and/or filtering the rendered HTML through a library like HTMLPurifier.