Description
Cross-site scripting vulnerability in phoenixframework phoenix_live_view allows an attacker to bypass URL scheme validation and execute JavaScript in a victim's browser session.

The Phoenix.LiveView.Utils.valid_destination!/2 and Phoenix.LiveView.Utils.valid_live_navigation_destination!/2 functions in lib/phoenix_live_view/utils.ex rely on an internal uri_scheme/1 helper that only detects a scheme when the input's first byte is an ASCII letter. Inputs beginning with an ASCII control character or space fall through to a nil-returning clause, causing the URL to be treated as a safe relative path.

Standard browsers implement the WHATWG URL parser, which strips leading C0 control and space characters before parsing. As a result, an input such as " javascript:alert(1)" is passed unchanged into <.link href={...}> and, when clicked, is parsed by the browser as a javascript: URL that executes attacker-controlled script in the victim's session.

Applications that render user-supplied URLs (for example profile links, redirect targets, or external references) via <.link href={...}> are affected.

This issue affects phoenix_live_view: from 1.2.2 before 1.2.7.
Published: 2026-07-13
Score: 5.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Cross‑Site Scripting (XSS) occurs when an attacker submits a URL that begins with a space or control character. The Phoenix.LiveView.Utils.valid_destination!/2 functions only check the first byte to determine a scheme, so the string is treated as a relative path and passed unchanged to <.link href={...}>. Browsers parse the link using the WHATWG URL parser, which strips leading whitespace, turning the string into a javascript: URL and executing attacker‑supplied code in the victim’s browser. This flaw is categorized as CWE‑79 and allows arbitrary client‑side code execution when the user clicks the link.

Affected Systems

The vulnerability affects Phoenix LiveView versions 1.2.2 through 1.2.6. Applications rendering user‑supplied URLs via <.link href={...}> are directly impacted.

Risk and Exploitability

The CVSS score of 5.1 classifies the vulnerability as medium severity. The EPSS score of less than 1 % indicates a low probability of exploitation. The vulnerability is not listed in CISA KEV, suggesting no known active exploitation. The workaround consists of stripping leading ASCII control and space characters before rendering the URL, or rejecting such values, which aligns application‑level validation with the browser’s WHATWG URL parser.

Generated by OpenCVE AI on July 31, 2026 at 11:27 UTC.

Remediation

Vendor Workaround

Strip leading ASCII control and space bytes (code points 0x00 through 0x20) from any untrusted URL before passing it to <.link href={...}>, or reject such inputs outright. This aligns application-level validation with the WHATWG URL parser used by browsers and prevents the scheme-detection bypass.


OpenCVE Recommended Actions

  • Apply Phoenix LiveView 1.2.7 or later to fix the scheme‑validation flaw.
  • If an upgrade cannot be performed immediately, preprocess any user‑supplied URLs by removing leading ASCII control and space characters before passing them to <.link>, or reject the value entirely.
  • Validate all URLs against the WHATWG URL parser or enforce a whitelist (e.g., https, mailto) before rendering them in links.

Generated by OpenCVE AI on July 31, 2026 at 11:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 13 Jul 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 13 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Description Cross-site scripting vulnerability in phoenixframework phoenix_live_view allows an attacker to bypass URL scheme validation and execute JavaScript in a victim's browser session. The Phoenix.LiveView.Utils.valid_destination!/2 and Phoenix.LiveView.Utils.valid_live_navigation_destination!/2 functions in lib/phoenix_live_view/utils.ex rely on an internal uri_scheme/1 helper that only detects a scheme when the input's first byte is an ASCII letter. Inputs beginning with an ASCII control character or space fall through to a nil-returning clause, causing the URL to be treated as a safe relative path. Standard browsers implement the WHATWG URL parser, which strips leading C0 control and space characters before parsing. As a result, an input such as " javascript:alert(1)" is passed unchanged into <.link href={...}> and, when clicked, is parsed by the browser as a javascript: URL that executes attacker-controlled script in the victim's session. Applications that render user-supplied URLs (for example profile links, redirect targets, or external references) via <.link href={...}> are affected. This issue affects phoenix_live_view: from 1.2.2 before 1.2.7.
Title Scheme validation bypass in Phoenix.LiveView.Utils leads to XSS via <.link>
First Time appeared Phoenixframework
Phoenixframework phoenix Live View
Weaknesses CWE-79
CPEs cpe:2.3:a:phoenixframework:phoenix_live_view:*:*:*:*:*:*:*:*
Vendors & Products Phoenixframework
Phoenixframework phoenix Live View
References
Metrics cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:L/VI:L/VA:N/SC:H/SI:H/SA:N'}


Subscriptions

Phoenixframework Phoenix Live View
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-07-14T04:15:01.996Z

Reserved: 2026-06-29T18:54:08.633Z

Link: CVE-2026-58228

cve-icon Vulnrichment

Updated: 2026-07-13T18:58:43.613Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T11:30:05Z

Weaknesses
  • CWE-79

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