CVE Catalog

CVE-2026-66296

MediumCVSS 6.1
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.37%

29th percentile - higher than 29% of all known CVEs

Summary

Reflected XSS vulnerability in the oaskit library for Elixir. The flaw is due to missing HTML escaping in the default error handler, which renders request validation failures as HTML pages. An attacker can craft a malicious link that executes arbitrary JavaScript in the victim's browser within the application's origin.

Risk Assessment

An attacker can hijack user sessions, steal cookies, or access same-origin data. A victim merely needs to click a crafted link — no additional interaction is required.

Recommendation

Upgrade oaskit to version 0.14.1 or later immediately. If upgrading is not possible, disable the default HTML error handler (set :html_errors to false) or implement a custom secure handler.

Related vulnerabilities

Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS