Skip to main content

AG-UI EUVDEUVD-2026-80694

| CVE-2026-92359 LOW
Permissive Cross-domain Security Policy with Untrusted Domains (CWE-942)
2026-09-16 VulDB GHSA-fq29-84pr-2m3x
2.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Lure victim to malicious site
  2. Exploit
    Browser JS sends cross-origin request to agent endpoint
  3. Execution
    Wildcard CORS permits the cross-origin read
  4. Impact
    Attacker script exfiltrates agent response data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A02:2025 - Security Misconfiguration
ASVS 5.0
V13 - Configuration CORS policy restriction
Exploitation Conditions

Requires the AG-UI aws-strands Python integration deployed via create_strands_app using its default (pre-0.0.6) implicit wildcard CORS configuration - allowing any origin/method/header - with the agent route left unauthenticated (no auth dependency configured) and network-reachable from a victim's browser. Exploitation additionally requires the victim to visit an attacker-controlled web page (UI:P) that scripts cross-origin requests. Limiting factors: rated high complexity/difficult (AC:H), confidentiality-only low impact, and the browser rule that wildcard CORS cannot be combined with credentialed requests, so credential-gated responses are not readable via this flaw. Deployments that passed an explicit origins allowlist, set cors_enabled=False, or added an auth dependency are not affected.

Impact

This is a low-priority, low-real-risk issue despite being a legitimate CORS misconfiguration. The vendor CVSS 4.0 score of 2.3 (AV:N/AC:H/AT:N/PR:N/UI:P/VC:L, all other impacts None) is well-calibrated and consistent with the description: exploitation is explicitly rated 'difficult' (AC:H), requires passive user interaction (UI:P), and yields only low confidentiality impact (VC:L) with no integrity or availability effect. No CISA KEV listing, no EPSS score, and no public proof-of-concept were provided - exploitation status is 'no public exploit identified at time of analysis.' The root cause is confirmed by the GitHub PR/commit source evidence: create_strands_app installs wildcard CORS (allow any origin/method/header), which the developers themselves note was intended so 'AG-UI localhost builds can connect' - i.e., a developer-convenience default rather than a production-hardened one. A practical limiter not captured in the vector: browsers forbid combining wildcard (*) Access-Control-Allow-Origin with credentialed requests, so an attacker generally cannot read authenticated/credentialed responses via this misconfiguration, further narrowing exploitability to unauthenticated agent endpoints. Net: real bug, correctly scored low, not an urgent priority.

Exploit ScenarioDerived

A developer deploys an AG-UI aws-strands agent using create_strands_app with its default permissive (wildcard) CORS and no auth dependency, exposing the endpoint on a network reachable by a victim's browser. The victim, while a reachable session is active, visits an attacker-controlled web page whose JavaScript issues cross-origin requests to the agent endpoint and reads the responses. No public exploit code is known, and the CVSS AC:H/UI:P rating reflects that this chain is difficult to arrange in practice.

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

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

Alert me

AnalysisAIv1 – Sep 16, 2026

A permissive cross-origin resource sharing (CORS) misconfiguration in the AG-UI aws-strands Python integration (ag-ui 0.3.0) allows a remote, unauthenticated attacker who convinces a victim to load an attacker-controlled web page to issue cross-origin requests against a deployed agent endpoint and read limited response data. The flaw is confined to deployments that bootstrap a FastAPI app via create_strands_app in integrations/aws-strands/python/src/ag_ui_strands/utils.py, where the helper installs wildcard CORS (any origin, method, and header) and mounts the agent route with no authentication dependency; deployments that supply an explicit origins allowlist, set cors_enabled=False, or attach an auth dependency are not affected. Exploitation is rated high complexity and difficult (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N, CVSS 4.0 base 2.3), the impact is limited to low confidentiality loss with no integrity or availability effect, and the browser prohibition on combining wildcard origins with credentialed requests further constrains what a successful attack can expose. No confirmed active exploitation (no CISA KEV listing) and no public exploit code were identified at time of analysis, and no EPSS score was provided in the source data.

RemediationAI

Vendor-released patch: the fix is published as the release tagged AGUI.Abstractions@0.0.6 (commit 9b143b9668fa52c2054ede9d34a45ac4b4401089, PR #2492), so upgrading the affected ag-ui Python aws-strands integration to that release or later and redeploying is the primary remediation; the vendor advisory references are https://github.com/ag-ui-protocol/ag-ui/releases/tag/AGUI.Abstractions%400.0.6, https://github.com/ag-ui-protocol/ag-ui/pull/2492 and the upstream issue https://github.com/ag-ui-protocol/ag-ui/issues/2433. If upgrading is not immediately possible, apply the configuration controls the patched helper introduced: pass an explicit origins allowlist to create_strands_app (for example origins=["https://app.example"]) so cross-origin reads from untrusted pages are rejected - the trade-off is that any browser client not on the list, including AG-UI localhost development front-ends, will be blocked and must be added explicitly; or set cors_enabled=False for same-origin or server-to-server deployments so no CORS headers are emitted at all - acceptable only when no browser front-end on a different origin needs to call the endpoint; and attach an auth dependency to guard the agent route (the ping/health route remains open by design) so that even reachable endpoints reject unauthenticated cross-origin callers - with the trade-off that existing clients must be updated to send the required credential. Note that the legacy implicit wildcard behaviour remains only for backward compatibility and emits a FutureWarning, and under browser rules a wildcard Access-Control-Allow-Origin cannot be combined with credentialed requests, which already limits exposure for token- or cookie-gated responses but should not be treated as a substitute for the configuration fix. Deployments that already supplied an explicit origins allowlist, disabled CORS, or configured an auth dependency are unaffected and require no action.

Affected VersionsENISA

ag-ui 0.3.0

Affected Packages

euvd ag_ui no fix

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

The vulnerability class is CWE-942 (Permissive Cross-domain Policy with Untrusted Domains), and it maps directly onto the CORSMiddleware component that the helper function create_strands_app() in integrations/aws-strands/python/src/ag_ui_strands/utils.py adds when it bootstraps a FastAPI application. In the affected ag-ui 0.3.0 code path the helper installs CORS middleware that allows any origin, any method, and any header so that AG-UI localhost front-end builds (for example the dojo's browser clients) can connect without configuration, and it mounts the agent route without any authentication dependency. Because the response carries a permissive Access-Control-Allow-Origin value for arbitrary origins, a page controlled by an attacker can script cross-origin requests to a network-reachable agent endpoint and read whatever the response exposes, which is an information-disclosure primitive rather than code execution or state change. The CPE cpe:2.3:a:ag-ui-protocol:ag-ui:*:*:*:*:*:*:*:* records an open-ended version range, matching the project's published artifacts; the specific affected artifact is the Python aws-strands integration distributed within the ag-ui 0.3.0 release. The trusted fix (commit 9b143b9668fa52c2054ede9d34a45ac4b4401089, PR #2492, release tag AGUI.Abstractions@0.0.6) parameterises the helper with origins, auth, allow_methods, allow_headers, cors_enabled, and ping_path arguments, adds an optional authentication dependency that is evaluated before the request body is parsed, keeps an implicit wildcard configuration only for backward compatibility while emitting a FutureWarning, and documents that the wildcard fallback will be removed in a future release.

Know when Python 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 (VulDB) PRIMARY 2.3 LOW
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.1 LOW

Remote via browser (AV:N) but difficult to arrange (AC:H), no auth on the default endpoint (PR:N), victim must visit a malicious page (UI:R); wildcard CORS enables limited cross-origin reads so C:L only, no I/A impact.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

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

DescriptionCVE.org

A security flaw has been discovered in ag-ui-protocol ag-ui 0.3.0. The affected element is the function create_strands_app of the file integrations/aws-strands/python/src/ag_ui_strands/utils.py of the component CORSMiddleware. The manipulation results in permissive cross-domain policy with untrusted domains. The attack may be launched remotely. The attack requires a high level of complexity. The exploitability is described as difficult. Upgrading to version AGUI.Abstractions@0.0.6 is sufficient to fix this issue. The patch is identified as 9b143b9668fa52c2054ede9d34a45ac4b4401089. It is suggested to upgrade the affected component.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
emerging OSS AI-agent UI protocol, niche aws-strands Python integration
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.2%
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
Defer
Exploitation
None
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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

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