Am I affected?
Description
Origin Validation Error vulnerability in ash-project ash_ai allows a malicious web page to bypass the MCP server's DNS-rebinding protection and issue cross-site requests to a user's local MCP server with that user's actor.
In AshAi.Mcp.Server, with the default allowed_origins: nil, origin_allowed?/3 accepts an origin when uri.host == conn.host and the forwarded scheme is https. Both values are attacker-controlled: conn.host comes from the Host header and the scheme is read from the raw x-forwarded-proto header with no trusted-proxy check. Under DNS rebinding the browser sends the attacker's origin and a matching host, and page JavaScript may set X-Forwarded-Proto: https, so the check passes with no TLS or proxy involved. The fix trusts only localhost origins by default; other origins require an explicit allowed_origins allowlist.
This issue affects ash_ai: from 0.8.0 before 1.0.0.
Weaknesses & attack patterns
Weakness
CWE-346
·
Origin Validation Error
in catalog →
MITRE ↗
Attack patterns
CAPEC-62
·
Cross Site Request Forgery
MITRE ↗
Affected — Hex / ash_ai Hex.pm ↗ Repository ↗
modules · source files · routines
Affected — GitHub / ash-project/ash_ai Repository ↗
modules · source files · routines
References
GHSA-c92r-f3rr-q49h ↗
vendor-advisory
EEF-CVE-2026-81315 ↗
related
Credits
CVSS breakdown
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N