CVE-2026-66296

Reflected XSS in oaskit's default HTML error handler

MEDIUM
6.1
CVSS Score
Published: August 3, 2026 at 07:04 PM UTC
Updated: October 23, 2026 at 09:10 PM UTC
1 product affected across 1 vendorOaskit

Using oaskit by lud?

Get instant alerts when new vulnerabilities affect oaskit - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM6.1
Exploit prediction
EPSS 0.4%
SSVC
PoC

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

0.1.0 ≤ v < 0.14.10.1.0552de8ca0ff60617bea58bcafa451892d61a161c
Vendor states this is fixed in b70c6b2eaf0b11bdd0bbb21b8a87dbb3d46918a1 (fixed)
Affected range stops below 0.14.1, so it looks safe — our inference, not a vendor statement

References (4)

Vendor AdvisoryRelatedExploit
Source: cverecord
https://github.com/lud/oaskit/security/advisories/GHSA-h7xw-x8wr-xpcc
RelatedPatchThird Party Advisory
Source: cverecord
https://cna.erlef.org/cves/CVE-2026-66296.html
RelatedPatchThird Party Advisory
Source: cverecord
https://osv.dev/vulnerability/EEF-CVE-2026-66296

SSVC — Action Prioritization

SSVCPoCNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
NETWORK
Complexity
LOW
Privileges
NONE
User Interaction
REQUIRED
Scope
CHANGED
Confidentiality
LOW
Integrity
LOW
Availability
NONE
Vector?

Quick Info

StatusANALYZED
CWE
CWE-79

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card