{"id":"CVE-2026-64941","summary":"Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR","details":"URL Redirection to Untrusted Site ('Open Redirect') vulnerability in phoenixframework phoenix_live_view allows an attacker to send a victim's browser to an origin of the attacker's choosing via a :to value containing ASCII tab, LF or CR.\n\nredirect/2 validates :to through the private validate_local_url!/2 in lib/phoenix_live_view.ex, which is intended to guarantee the target is a path within the application. It rejects a leading // and any backslash, but not ASCII tab, LF or CR. Browsers strip those three characters before parsing a URL, so a value such as /\u003cTAB\u003e/example.com passes validation as a path and is then resolved as the scheme-relative URL //example.com. The live navigation functions share the guard but are not affected, because the client expands their target against the current origin. push_patch/2 is also affected before 0.7.0, which is when that expansion was added.\n\nThis issue affects phoenix_live_view: from 0.5.0 before 1.0.19, from 1.1.0-rc.0 before 1.1.33, and from 1.2.0-rc.0 before 1.2.9.","aliases":["EEF-CVE-2026-64941","GHSA-36m4-rm57-3prf"],"modified":"2026-08-11T11:47:27.952694080Z","published":"2026-08-10T11:05:14.571Z","database_specific":{"unresolved_ranges":[{"extracted_events":[{"introduced":"b20dba3f65a380b2e4868dae03397f13d2daa070"},{"fixed":"*"}],"source":"AFFECTED_FIELD"}],"cna_assigner":"EEF","cwe_ids":["CWE-601"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64941.json"},"references":[{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-64941.html"},{"type":"WEB","url":"https://github.com"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64941.json"},{"type":"PACKAGE","url":"https://github.com/phoenixframework/phoenix_live_view"},{"type":"FIX","url":"https://github.com/phoenixframework/phoenix_live_view/commit/0b8c733133466912f81adecaea72b6712370242e"},{"type":"FIX","url":"https://github.com/phoenixframework/phoenix_live_view/commit/1c164f83df0bb922dfff9c60d125da5b0cfd6619"},{"type":"FIX","url":"https://github.com/phoenixframework/phoenix_live_view/commit/2068b304d71907064b159b6bc60c5ad85a876ecf"},{"type":"ADVISORY","url":"https://github.com/phoenixframework/phoenix_live_view/security/advisories/GHSA-36m4-rm57-3prf"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64941"},{"type":"WEB","url":"https://osv.dev/vulnerability/EEF-CVE-2026-64941"},{"type":"WEB","url":"https://repo.hex.pm"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/phoenixframework/phoenix_live_view","events":[{"introduced":"bfe7b51040dee16886debdbb8fbdd2834ab4a9e3"},{"fixed":"d8584e1d10f02bda64f675bfba68c71977c020b8"},{"introduced":"1ffef45a9fb554551db73df01909cc0868b97f27"},{"fixed":"de84c71f75069e0f18d57551814e468353294008"},{"introduced":"29b7298e741ad345258c650d2d3f87362f9aadf0"},{"fixed":"6bd7b84c27051abfec1ffd3e4b80ec289a420573"}],"database_specific":{"extracted_events":[{"introduced":"0.5.0"},{"fixed":"1.0.19"},{"introduced":"1.1.0-rc.0"},{"fixed":"1.1.33"},{"introduced":"1.2.0-rc.0"},{"fixed":"1.2.9"}],"source":"AFFECTED_FIELD"}}],"versions":["v1.1.32","v1.2.8","v1.2.7","v1.2.6","v1.2.5","v1.2.4","v1.2.3","v1.2.2","v1.2.1","v1.1.31","v1.2.0","v1.2.0-rc.3","v1.1.30","v1.2.0-rc.2","v1.1.29","v1.2.0-rc.1","v1.1.28","v1.2.0-rc.0","v1.1.27","v1.1.26","v1.1.25","v1.1.24","v1.1.23","v1.1.22","v1.1.21","v1.1.20","v1.1.19","v1.1.18","v1.1.17","v1.1.16","v1.1.15","v1.1.14","v1.1.13","v1.1.12","v1.1.11","v1.1.10","v1.1.9","v1.0.18","v1.1.8","v1.1.7","v1.1.6","v1.1.5","v1.1.4","v1.1.3","v1.1.2","v1.1.1","v1.1.0","v1.1.0-rc.4","v1.1.0-rc.3","v1.1.0-rc.2","v1.1.0-rc.1","v1.1.0-rc.0","v1.0.17","v1.0.16","v1.0.15","v1.0.14","v1.0.13","v1.0.12","v1.0.6","v1.0.11","v1.0.10","v1.0.9","v1.0.8","v1.0.7","v1.0.5","v1.0.4","v1.0.3","v1.0.2","v1.0.1","v1.0.0","v1.0.0-rc.9","v1.0.0-rc.8","v1.0.0-rc.7","v1.0.0-rc.6","v1.0.0-rc.5","v1.0.0-rc.4","v1.0.0-rc.3","v1.0.0-rc.2","v1.0.0-rc.1","v1.0.0-rc.0","v0.20.14","v0.20.13","v0.20.12","v0.20.11","v0.20.10","v0.20.9","v0.20.8","v0.20.7","v0.20.6","v0.20.5","v0.20.4","v0.20.3","v0.20.2","v0.20.1","v0.20.0","v0.19.5","v0.19.4","v0.19.3","v0.19.2","v0.19.1","v0.19.0","v0.18.17","v0.18.16","v0.18.15","v0.18.14","v0.18.13","v0.18.12","v0.18.11","v0.18.10","v0.18.9","v0.18.8","v0.18.7","v0.18.6","v0.18.5","v0.18.4","v0.18.3","v0.18.2","v0.18.1","v0.18.0","v0.17.9","v0.17.8","v0.17.7","v0.17.6","v0.17.5","v0.17.4","v0.17.3","v0.17.2","v0.17.1","v0.17.0","v0.16.3","v0.16.2","v0.16.1","v0.16.0","v0.15.4","v0.15.5","v0.15.3","v0.15.2","v0.15.1","v0.15.0","v0.14.6","v0.14.5","v0.14.4","v0.14.3","v0.14.2","v0.14.1","v0.14.0","v0.13.3","v0.13.2","v0.13.1","v0.13.0","v0.12.1","v0.12.0","v0.11.1","v0.11.0","v0.10.0","v0.9.0","v0.8.1","v0.8.0","v0.7.1","v0.7.0","v0.5.2","v0.5.1","v0.5.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64941.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"}]}