Description
Improper Neutralization of Input During Web Page Generation (XSS) vulnerability in lud oaskit allows reflected cross-site scripting via the default HTML error handler.

Oaskit.ErrorHandler.Default.format_reason/4 and Oaskit.ErrorHandler.Default.reason_to_html/1 in lib/oaskit/error_handler/default.ex render request-validation failures as an HTML page whenever the request's Accept header contains html, interpolating request-controlled strings into that page without HTML escaping. The unescaped values are object keys taken from a request body or from an object or deepObject query parameter, which appear in the JSON Schema error's instance path when a schema rejects them (for example under additionalProperties: false), and the raw Content-Type header, reflected in unsupported-media-type errors when it fails to parse.

Because browsers send Accept: text/html on ordinary top-level navigation, a crafted GET link is sufficient to trigger the error page; no form submission, custom Content-Type, or attacker-controlled script on the victim's side is required. A payload such as filter[</code></h2><script>alert(document.domain)</script>]=x terminates the enclosing markup and the injected script executes in the origin of the application using oaskit, giving it access to that origin's cookies, session, and same-origin responses.

Both HTML error rendering and the vulnerable handler are enabled by default: Oaskit.Plugs.ValidateRequest defaults :html_errors to true and :error_handler to Oaskit.ErrorHandler.Default, so applications following the documented usage are affected without any opt-in.

This issue affects oaskit: from 0.1.0 before 0.14.1.
Published: 2026-08-03
Score: 5.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability arises from the default HTML error handler in the oaskit library. It improperly interpolates unescaped request‑derived strings into an HTML page that is returned when a validation error occurs. The attack may lead to the execution of arbitrary scripts in the victim’s browser, potentially allowing theft of session cookies or other sensitive data. The weakness is a classic reflected XSS (CWE‑79).

Affected Systems

The affected product is the Elixir web framework component oaskit, particularly versions ranging from 0.1.0 up to and including 0.14.0. Both the HTML error rendering and the default error handler are enabled by default, so any application that follows the documented usage pattern without custom configuration is at risk.

Risk and Exploitability

The CVSS score of 5.1 indicates a medium severity, the EPSS score of < 1% indicates a low probability of exploitation, and the vulnerability does not appear in the CISA KEV catalog. Because browsers automatically send an Accept header of text/html during regular navigation, a simple crafted GET request is sufficient to trigger the reflected XSS; no special attacker‑controlled content type or form submission is needed. An attacker can freely embed malicious payloads within the query string or request body, causing the error page to be rendered and the script to execute in the context of the web application.

Generated by OpenCVE AI on August 4, 2026 at 22:22 UTC.

Remediation

Vendor Workaround

Disable HTML error rendering so that validation failures are returned as JSON only: plug Oaskit.Plugs.ValidateRequest, html_errors: false This prevents the vulnerable HTML page from being rendered at all, on any oaskit version. Alternatively, configure a custom :error_handler that does not emit HTML built from request-derived values.


OpenCVE Recommended Actions

  • Disable HTML error rendering by adding the plug line plug Oaskit.Plugs.ValidateRequest, html_errors: false to the endpoint or router configuration.
  • Alternatively, replace the default handler with a custom :error_handler implementation that does not emit request‑derived HTML.
  • Check for newer releases of oaskit that fix the vulnerability; if available, upgrade or consider applying any vendor‑provided patches.

Generated by OpenCVE AI on August 4, 2026 at 22:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 17 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:lud:oaskit:*:*:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 6.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N'}


Mon, 03 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Mon, 03 Aug 2026 19:45:00 +0000

Type Values Removed Values Added
Description Improper Neutralization of Input During Web Page Generation (XSS) vulnerability in lud oaskit allows reflected cross-site scripting via the default HTML error handler. Oaskit.ErrorHandler.Default.format_reason/4 and Oaskit.ErrorHandler.Default.reason_to_html/1 in lib/oaskit/error_handler/default.ex render request-validation failures as an HTML page whenever the request's Accept header contains html, interpolating request-controlled strings into that page without HTML escaping. The unescaped values are object keys taken from a request body or from an object or deepObject query parameter, which appear in the JSON Schema error's instance path when a schema rejects them (for example under additionalProperties: false), and the raw Content-Type header, reflected in unsupported-media-type errors when it fails to parse. Because browsers send Accept: text/html on ordinary top-level navigation, a crafted GET link is sufficient to trigger the error page; no form submission, custom Content-Type, or attacker-controlled script on the victim's side is required. A payload such as filter[</code></h2><script>alert(document.domain)</script>]=x terminates the enclosing markup and the injected script executes in the origin of the application using oaskit, giving it access to that origin's cookies, session, and same-origin responses. Both HTML error rendering and the vulnerable handler are enabled by default: Oaskit.Plugs.ValidateRequest defaults :html_errors to true and :error_handler to Oaskit.ErrorHandler.Default, so applications following the documented usage are affected without any opt-in. This issue affects oaskit: from 0.1.0 before 0.14.1.
Title Reflected XSS in oaskit's default HTML error handler
First Time appeared Lud
Lud oaskit
Weaknesses CWE-79
CPEs cpe:2.3:a:lud:oaskit:*:*:*:*:*:elixir:*:*
Vendors & Products Lud
Lud oaskit
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-08-03T19:50:27.860Z

Reserved: 2026-07-24T14:10:01.114Z

Link: CVE-2026-66296

cve-icon Vulnrichment

Updated: 2026-08-03T19:50:23.782Z

cve-icon NVD

Status : Analyzed

Published: 2026-08-03T20:17:25.720

Modified: 2026-08-17T19:12:33.870

Link: CVE-2026-66296

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T10:21:41Z

Weaknesses
  • CWE-79

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