Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure victim to malicious site
-
ExploitBrowser JS sends cross-origin request to agent endpoint
-
ExecutionWildcard CORS permits the cross-origin read
-
ImpactAttacker 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
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
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
EUVD-2026-80694
GHSA-fq29-84pr-2m3x
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB