Cyber Resilience

CVE-2026-48591

XSS

Published
17 June 2026
Modified
22 June 2026
CVSS Score v4 4.8
Click a component to see what it means
Raw vectorCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0013 3th percentile
Risk Priority 35 floored blend · peak EPSS

Summary

CVE-2026-48591 is a medium-severity Improper Neutralization of Script in Attributes in a Web Page (CWE-83) vulnerability in Erlef (inferred from references). Its CVSS base score is 4.8 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Content Injection (T1659); ranked at the 3th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) and SI-15 (Information Output Filtering) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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,…

more

"\""]. 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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1659 Content Injection Initial Access
Adversaries may gain access and continuously communicate with victims by injecting malicious content into systems through online network traffic.
T1189 Drive-by Compromise Initial Access
Adversaries may gain access to a system through a user visiting a website over the normal course of browsing.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-26283Shared CWE-83
CVE-2025-0125Shared CWE-83
CVE-2024-9103Shared CWE-83
CVE-2026-53841Shared CWE-83
CVE-2026-49276Shared CWE-83
CVE-2025-4615Shared CWE-83
CVE-2026-8245Shared CWE-83
CVE-2026-45669Shared CWE-83
CVE-2025-0137Shared CWE-83
CVE-2023-30958Shared CWE-83

Affected Assets

Erlef
inferred from references and description; NVD did not file a CPE for this CVE

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.3.4

Mitigating Controls (NIST 800-53 r5) AI

Input validation can reject or sanitize dangerous javascript: URIs and event-handler attributes before they reach rendered pages.

Output filtering directly neutralizes script content in HTML attributes, stopping the exact injection vector described by the CWE.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require output encoding and attribute neutralization to prevent this class of XSS.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Secure coding standards require proper escaping of untrusted data in HTML attributes, directly eliminating CWE-83.

finds

Security testing in development catches attribute-injection flaws before release but does not itself implement the fix.

prevents

Secure SDLC mandates input validation and output encoding that directly prevents script injection in HTML attributes.

prevents

Application security requirements explicitly call for controls against injection flaws including attribute-based script injection.

prevents

Secure architecture principles reduce attack surface but do not prescribe the specific neutralization techniques needed.

References