Skip to main content

ash_typescript EUVDEUVD-2026-68930

| CVE-2026-82731 LOW
URL Redirection to Untrusted Site (Open Redirect) (CWE-601)
2026-09-01 EEF
2.3
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker supplies leading-slash value as path param
  2. Delivery
    Generated URL builder interpolates value unencoded
  3. Exploit
    Template produces protocol-relative URL //attacker.com/path
  4. Execution
    Fetch resolves URL to attacker's origin
  5. Persist
    Credentialed HTTP request sent to attacker host
  6. Impact
    Credentials (tokens, API keys) captured server-side

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Redirect URL validation
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires three concurrent conditions: (1) the application must use ash_typescript 0.15.0-0.17.x and have regenerated TypeScript clients from it; (2) at least one route whose path begins with a parameter placeholder must be reachable - this is the configuration that enables the protocol-relative URL (//attacker.com) to form; (3) an attacker must be able to control or influence the value supplied as that leading path parameter in a real client invocation, either via a crafted link, injected data, or a manipulated UI flow, and the victim must trigger the client call. The query-string code path is immune (URLSearchParams.set encodes its input). Routes where no path segment is purely a parameter at the first position are still vulnerable to ../ path traversal and query-parameter smuggling (via ? and #) but not to the full protocol-relative credential-redirect attack.

Impact

The CVSS 4.0 base score of 2.3 (AV:N/AC:L/AT:P/PR:N/UI:P) correctly reflects two significant dampeners: AT:P acknowledges that credential exfiltration via the protocol-relative redirect requires a route whose first path segment is a parameter placeholder, which is a specific but not uncommon routing pattern; UI:P requires that a real user or automated integration invoke the generated client with an attacker-influenced parameter value. No KEV listing or public POC exists, and there is no EPSS data provided. Real-world risk is further constrained by ash_typescript's niche deployment footprint within the Elixir/Ash ecosystem - widespread exploitation is improbable. However, within affected applications the confidentiality impact is concrete: HTTP request headers (Bearer tokens, API keys, cookies forwarded by fetch) can be silently exfiltrated to an attacker host in a single interaction, with no visible browser warning for same-protocol requests. The integrity signal (VI:L in the provided vector) reflects the ability to redirect the request itself, bypassing the intended API endpoint.

Exploit ScenarioDerived

An attacker who can influence what path-parameter value a victim application passes to the generated TypeScript client - for example, through a URL link, a stored value, or an API response - supplies /evil.example.com/x as the parameter. The route renderer interpolates this raw value into the URL template, producing the protocol-relative URL //evil.example.com/x. The fetch API resolves this against the page's current scheme (e.g., https:) and dispatches the credentialed request to https://evil.example.com/x, exfiltrating the Authorization header or other TypedControllerConfig credentials to the attacker's server. No public exploit code has been identified at time of analysis.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 01, 2026

Open redirect in ash_typescript's TypeScript client code generator allows an attacker who controls a path-parameter value to cause a generated client to forward its request - including any credentials configured in TypedControllerConfig - to an attacker-controlled host. Affected are applications using ash_typescript 0.15.0 through 0.17.x that expose generated TypeScript clients where path parameters are user-influenced. No public exploit or CISA KEV listing is present, and the EPSS signal is correspondingly low given the niche footprint of the library.

RemediationAI

Upgrade ash_typescript to version 0.18.0 or later, which wraps every path-parameter interpolation in encodeURIComponent() at code-generation time (patch commit 5165f752f5f92b755d946f2d1ce750ff69083ffc). After upgrading, regenerate all TypeScript client code so the new encoding is present in emitted files - existing generated clients from 0.15.x-0.17.x are not automatically fixed. The vendor advisory is at https://github.com/ash-project/ash_typescript/security/advisories/GHSA-6g23-p936-fm2f. If an immediate upgrade is not possible, a targeted compensating control is to validate and reject any path-parameter value containing /, ?, #, or . sequences at the application layer before passing them to the generated client; this has the trade-off of requiring per-call input validation in each caller. Disabling routes that begin with a path parameter (the highest-risk configuration for protocol-relative URL formation) eliminates the most severe redirect vector while normal paths remain operable.

Affected VersionsENISA

ash_typescript 0.15.0 <0.18.0
ash_typescript 6669e22ece34b4534e706a46d1842f01b68ee23a <5165f752f5f92b755d946f2d1ce750ff69083ffc

Affected Packages

euvd ash_typescript fix: 0.18.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ash_typescript is an Elixir library (CPE: cpe:2.3:a:ash-project:ash_typescript) that generates TypeScript client code for Phoenix/Ash controllers. The vulnerable path is lib/ash_typescript/typed_controller/codegen/route_renderer.ex, which constructs URL builder functions using bare ES template-literal interpolation of path parameters (e.g., ${param} or ${path.param}). Because encodeURIComponent is never called during codegen, the raw string value reaches the browser fetch API. CWE-601 (Open Redirect) applies: the browser's fetch URL resolver normalises ../ sequences against the request origin, ? and

characters truncate or smuggle query parameters, and a value beginning with / on a route whose path also begins with a parameter produces a protocol-relative URL (//evil.example.com/…) that the fetch API resolves to the attacker's scheme and host. TypeScript's type system provides no runtime defence because types are erased at execution. The query-string path is not affected because URLSearchParams.set independently encodes its input.

Know when Open Redirect gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (EEF) PRIMARY 2.3 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:N/SA:N
vuln.today AI 3.1 LOW

AC:H folds in the AT:P condition (leading-param route required); UI:R for victim-triggered fetch; C:L for credential exfiltration with no integrity or availability impact.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

URL Redirection to Untrusted Site ('Open Redirect') vulnerability in ash-project ash_typescript allows an attacker who controls a path-parameter value to redirect a generated client's request, and the credentials attached to it, to an unintended route or an external origin.

The URL builders in lib/ash_typescript/typed_controller/codegen/route_renderer.ex replace each :param placeholder with a bare template interpolation and never call encodeURIComponent, so the value reaches executeTypedControllerRequest raw. A value containing ../ is normalised away by the fetch URL resolver and reaches a different route, while ? or

truncates the path and can smuggle or override query parameters. For a route whose path begins with a parameter, a value such as /evil.example.com/x yields the protocol-relative URL //evil.example.com/x, sending the request and the credentials from TypedControllerConfig to an attacker-controlled host. Nothing constrains the value at runtime: get_path_param_type/2 emits only a TypeScript type, which is erased.

The query-string path is unaffected, since URLSearchParams.set encodes its own values.

This issue affects ash_typescript: from 0.15.0 before 0.18.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Rare
niche TypeScript codegen add-on for Elixir Ash framework
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2017-1000117 HIGH POC
8.8 Oct 05

A malicious third-party can give a crafted "ssh://..." URL to an unsuspecting victim, and an attempt to visit the URL ca

CVE-2024-52875 HIGH POC
8.8 Jan 31

GFI Kerio Control versions 9.2.5 through 9.4.5 contain an HTTP response splitting vulnerability in the dest parameter of

CVE-2016-5385 HIGH POC
8.1 Jul 19

PHP through 7.0.8 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and therefore does not protect

CVE-2013-2248 MEDIUM POC
5.8 Jul 20

Multiple open redirect vulnerabilities in Apache Struts 2.0.0 through 2.3.15 allow remote attackers to redirect users to

CVE-2018-11784 MEDIUM POC
4.3 Oct 04

When the default servlet in Apache Tomcat versions 9.0.0.M1 to 9.0.11, 8.5.0 to 8.5.33 and 7.0.23 to 7.0.90 returned a r

CVE-2012-6499 MEDIUM POC
5.8 Jan 12

Open redirect vulnerability in age-verification.php in the Age Verification plugin 0.4 and earlier for WordPress allows

CVE-2015-2863 MEDIUM POC
4.3 Jul 20

Open redirect vulnerability in Kaseya Virtual System Administrator (VSA) 7.x before 7.0.0.29, 8.x before 8.0.0.18, 9.0 b

CVE-2017-3528 MEDIUM POC
5.4 Apr 24

Vulnerability in the Oracle Applications Framework component of Oracle E-Business Suite (subcomponent: Popup windows (li

CVE-2012-0518 MEDIUM
4.7 Oct 16

Unspecified vulnerability in the Oracle Application Server Single Sign-On component in Oracle Fusion Middleware 10.1.4.3

CVE-2024-21641 MEDIUM POC
6.5 Jan 05

Flarum is open source discussion platform software. Rated medium severity (CVSS 6.5), this vulnerability is remotely exp

CVE-2015-5354 MEDIUM POC
5.8 Jul 01

Open redirect vulnerability in Novius OS 5.0.1 (Elche) allows remote attackers to redirect users to arbitrary web sites

CVE-2015-5461 MEDIUM POC
6.4 Jul 08

Open redirect vulnerability in the Redirect function in stageshow_redirect.php in the StageShow plugin before 5.0.9 for

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy