CVE-2026-48591

Improper Neutralization of Script in Attributes in a Web Page vulnerability in pragdave earmark allows stored cross-site scripting via unescaped HTML attribute values. 'Elixir.Earmark.Transform':_make_att1/2 in lib/earmark/transform.ex splices attribute values verbatim between two literal " bytes: [" ", name, "=\"", value, "\""]. Text nodes are routed through the existing escape function which encodes " as &quot;, but attribute values never visit that path. A markdown link whose URL or title contains a bare " closes the attribute early and lets the trailing bytes be parsed by the browser as fresh HTML attributes. For example, [click](http://example.com/?a=x" onerror="alert(1)) renders as <a href="http://example.com/?a=x" onerror="alert(1)">click</a>, executing arbitrary JavaScript in the victim's browser. The earmark library is no longer maintained and has been retired on Hex. No patched version will be released. All releases from 1.4.1 onward are affected, and users should migrate to a maintained Markdown library such as MDEx. This issue affects earmark from 1.4.1 onward.
CVSS

No CVSS.

Configurations

No configuration.

History

25 Oct 2026, 23:10

Type Values Removed Values Added
Summary
  • (es) Vulnerabilidad de neutralización incorrecta de script en atributos en una página web en pragdave earmark permite cross-site scripting almacenado a través de valores de atributos HTML sin escapar. ’Elixir.Earmark.Transform’:_make_att1/2 en lib/earmark/transform.ex empalma valores de atributos textualmente entre dos bytes literales “: [” “, name, ”=\“”, value, “\”“]. Los nodos de texto se enrutan a través de la función de escape existente que codifica ” como “, pero los valores de los atributos nunca pasan por esa ruta. Un enlace de markdown cuya URL o título contiene un ” desnudo cierra el atributo prematuramente y permite que los bytes restantes sean analizados por el navegador como nuevos atributos HTML. Por ejemplo, [click](http://example.com/?a=x“ onerror_disabled=”alert(1)) se renderiza como <a href=“http://example.com/?a=x” onerror_disabled=“alert(1)”>click[/a], ejecutando JavaScript arbitrario en el navegador de la víctima. La biblioteca earmark ya no se mantiene y ha sido retirada de Hex. Ninguna versión parcheada será lanzada. Todas las versiones desde la 1.4.1 en adelante están afectadas, y los usuarios deberían migrar a una biblioteca de Markdown mantenida como MDEx. Este problema afecta a earmark desde la 1.4.1 en adelante.

Information

Published : 2026-06-17 18:18

Updated : 2026-10-25 23:10


NVD link : CVE-2026-48591

Mitre link : CVE-2026-48591

CVE.ORG link : CVE-2026-48591


JSON object : View

Products Affected

No product.

CWE
CWE-83

Improper Neutralization of Script in Attributes in a Web Page