Description
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in woylie doggo allows Reflected XSS.

Doggo.normalize_value/2 in lib/doggo.ex returned date field values wrapped in {:safe, ...}, the Phoenix.HTML marker meaning "already escaped, emit verbatim", without escaping them, so the value reached the value attribute of the <input> rendered by the field component unchanged. Any application rendering <.field type="date"> over user-controlled params is affected through the ordinary Phoenix form round-trip, where a failed validation re-renders the submitted value. The pattern kept exactly the first ten bytes and discarded shorter values, capping a payload at ten bytes: enough to terminate the attribute and open an element or attach a short event handler, not enough to place attacker-chosen script inline. Only type="date" is affected.

This issue affects doggo: from 0.1.0 before 0.14.8.
Published: 2026-08-27
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Cross‑Site Scripting
Action: Patch or Workaround
AI Analysis

Impact

This vulnerability allows an attacker to inject code via an unescaped date field value in Doggo’s form rendering logic. The component normalizes date fields as safe strings and places them verbatim into the value attribute of an <input type="date"> element. The string is truncated to ten bytes, sufficient to terminate the attribute and inject a short payload such as an event handler or the start of a new element but not enough to include a full script body. The result is a reflected XSS that can execute alternate JavaScript in the vulnerable context and potentially carry out phishing or cookie theft.

Affected Systems

The issue exists in all releases of woylie Doggo from 0.1.0 up to but not including 0.14.8. Applications that render <.field type="date"> with user‑supplied values are impacted.

Risk and Exploitability

The CVSS score of 5.3 reflects moderate severity, stemming from the fact that the attacker must submit a request containing the reflected payload and that the window for arbitrary code execution is limited. EPSS is not available and the vulnerability is not listed in the CISA KEV catalog, suggesting a lower likelihood of widespread exploitation. However, if an application publicly exposes its forms and does not perform additional validation, a local or remote attacker could send a crafted request that triggers the reflected XSS.

Generated by OpenCVE AI on August 28, 2026 at 07:18 UTC.

Remediation

Vendor Workaround

Either of these closes the hole without upgrading. Use type="text" instead of type="date" for fields whose value can come from user-submitted params. The text branch delegates to Phoenix.HTML.Form.normalize_value/2, which returns a bare string that HEEx then escapes. Alternatively, pass an explicit value already validated as an ISO 8601 date rather than letting the component read it from the form field, so the value reaching the unescaped branch contains no metacharacters.


OpenCVE Recommended Actions

  • Upgrade Doggo to 0.14.8 or later, which fixes the unescaped date value handling.
  • For older versions, replace <.field type="date"> with <.field type="text"> and validate the value against an ISO 8601 date before rendering, ensuring no meta‑characters survive.
  • If the form component must accept date input, explicitly escape the rendered value or wrap the value in {:safe, Phoenix.HTML.escape_html(value)} to prevent attribute injection.

Generated by OpenCVE AI on August 28, 2026 at 07:18 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 28 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Thu, 27 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
Description Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in woylie doggo allows Reflected XSS. Doggo.normalize_value/2 in lib/doggo.ex returned date field values wrapped in {:safe, ...}, the Phoenix.HTML marker meaning "already escaped, emit verbatim", without escaping them, so the value reached the value attribute of the <input> rendered by the field component unchanged. Any application rendering <.field type="date"> over user-controlled params is affected through the ordinary Phoenix form round-trip, where a failed validation re-renders the submitted value. The pattern kept exactly the first ten bytes and discarded shorter values, capping a payload at ten bytes: enough to terminate the attribute and open an element or attach a short event handler, not enough to place attacker-chosen script inline. Only type="date" is affected. This issue affects doggo: from 0.1.0 before 0.14.8.
Title Doggo vulnerable to cross-site scripting via unescaped date field values
First Time appeared Woylie
Woylie doggo
Weaknesses CWE-79
CPEs cpe:2.3:a:woylie:doggo:*:*:*:*:*:*:*:*
Vendors & Products Woylie
Woylie doggo
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-08-28T14:13:54.861Z

Reserved: 2026-08-25T10:30:01.736Z

Link: CVE-2026-66353

cve-icon Vulnrichment

Updated: 2026-08-28T14:07:33.571Z

cve-icon NVD

Status : Deferred

Published: 2026-08-27T20:18:27.967

Modified: 2026-09-01T21:15:00.147

Link: CVE-2026-66353

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T16:14:11Z

Weaknesses
  • CWE-79

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