CVE-2026-117645

Phoenix.HTML vulnerable to attribute injection via unvalidated attribute names in attributes_escape/1

State
Published
Severity
5.3 Medium
Published
Oct 30, 2026
Updated
Oct 30, 2026
Reserved
Oct 30, 2026

Read the record on cve.org

Description

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in phoenixframework phoenix_html allows an attacker who controls attribute names to inject attributes and script into rendered HTML via Phoenix.HTML.attributes_escape/1.

attributes_escape/1 in lib/phoenix_html.ex escapes attribute values but not attribute names. key_escape/1 passes a binary key through html_escape, which neutralizes quotes and angle brackets but not whitespace, so a key such as x onmouseover ends the attribute and starts a new one. An atom key is only dasherized, so any character passes, including quotes and >. Nested data, aria and phx keys take the same paths. An application is affected when it builds attribute keys from untrusted input and renders them through HEEx <tag {@attrs}>, content_tag/3, or a direct call. Before 3.0.0 the same code lived in Phoenix.HTML.Tag.

This issue affects phoenix_html: from 1.0.0 before 3.3.5 and from 4.0.0 before 4.4.0.

Scores

CVSSScoreVectorSource
4.05.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:NEEF

Weaknesses

  • CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Affected Products

ProductVersions
phoenix_htmlphoenixframework
  • 1.0.0 to before 3.3.5Affected
  • 4.0.0 to before 4.4.0Affected
phoenix_htmlphoenixframework
  • 6ad3a1d7960891a468d54636054a98e11dfb5111 and laterAffectedfrom d9e4e6b2d9be49e25fb6d6b4fdbb2008174f01a6Not affectedfrom a47dc8944a773b7e9273d9691dc6744ec793f1deNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.