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.
Published: 2026-08-31
Score: 7.4 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw resides in AshAi’s MCP server origin validation logic, which accepts a request if the Origin header matches the Host header and the forwarded scheme is read from a raw X‑Forwarded‑Proto header without verifying a trusted proxy. An attacker can craft a malicious web page that sends requests with a spoofed Host and Origin that match, and sets X‑Forwarded‑Proto to "https". Under these conditions the server mistakenly treats the request as originated from a trusted source, enabling the malicious page to issue cross‑site requests to a user’s local MCP server using that user’s authenticated actor. This effectively allows the attacker to perform privileged actions on the victim’s behalf. The vulnerability can be exploited without TLS; it relies solely on DNS rebinding and header manipulation. Because the Host, Origin, and X‑Forwarded‑Proto values are attacker‑controlled, a victim who visits the attacker’s page can inadvertently allow the MCP server to accept requests that bypass its intended protection. This condition leads to a CVSS score of 7.4 (High), reflecting the possibility of executing privileged operations with minimal user interaction. Although the attack requires DNS control and a malicious page, the practical exploitation risk is moderate to high, especially for environments where the MCP server is exposed to browsers or untrusted networks. The issue is not listed in the CISA KEV catalog, and no EPSS score is available, so vigilance remains essential.

Affected Systems

ash‑project’s AshAi. The defect is present in all releases from 0.8.0 up to, but not including, 1.0.0. Versions 1.0.0 and later contain a fix that restricts origin validation to localhost by default, forcing any other origins to be explicitly whitelisted via the allowed_origins configuration.

Risk and Exploitability

The CVSS score of 7.4 signals a high severity. Exploitation can be achieved by any user who loads a malicious web page that can set headers controlling Host, Origin, and X‑Forwarded‑Proto. The lack of a trusted‑proxy check means an attacker can perform the attack without TLS or a backend proxy. While the practical exploitation requires DNS rebinding and HTTP header manipulation, the potential impact of unauthorized actions or data exfiltration warrants immediate remediation. The vulnerability is not yet present in the CISA KEV catalog and no EPSS probability is reported.

Generated by OpenCVE AI on August 31, 2026 at 02:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade AshAi to version 1.0.0 or later, where only localhost origins are trusted by default and external origins must be explicitly added to the allowed_origins list
  • If an upgrade cannot be performed immediately, configure the MCP server to use the allowed_origins option to whitelist only trusted domains and disable the default host‑based origin check
  • Ensure that untrusted requests do not carry an X‑Forwarded‑Proto header, or configure the proxy to validate the header against a trusted‑proxy list before the origin check occurs

Generated by OpenCVE AI on August 31, 2026 at 02:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 01:00:00 +0000

Type Values Removed Values Added
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.
Title MCP DNS-rebinding origin check in AshAi is bypassed by a spoofed X-Forwarded-Proto header
First Time appeared Ash-project
Ash-project ash Ai
Weaknesses CWE-346
CPEs cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*
Vendors & Products Ash-project
Ash-project ash Ai
References
Metrics cvssV4_0

{'score': 7.4, 'vector': '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'}


Subscriptions

Ash-project Ash Ai
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-08-31T00:57:55.910Z

Reserved: 2026-08-30T20:00:01.860Z

Link: CVE-2026-81315

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-31T01:16:49.977

Modified: 2026-08-31T01:16:49.977

Link: CVE-2026-81315

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T02:30:18Z

Weaknesses