Skip to main content

strands-agents-tools CVE-2026-15746

| EUVDEUVD-2026-44762 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-07-15 AMZN
6.9
CVSS 4.0 · Vendor: AMZN
View

Attack ChainAIDerived

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

  1. Access
    Inject malicious instruction into LLM-processed content
  2. Delivery
    LLM invokes elasticsearch_memory tool with attacker-controlled es_url
  3. Exploit
    Tool falls back to ELASTICSEARCH_API_KEY env var for auth
  4. Execution
    Outbound HTTP request sent to attacker server
  5. Impact
    API key captured in Authorization header

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential 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 four concurrent conditions to be true simultaneously: (1) the target application uses the strands-agents-tools elasticsearch_memory tool, (2) the ELASTICSEARCH_API_KEY environment variable is populated in the agent process, (3) the caller does not explicitly pass the api_key argument - triggering the environment-variable fallback that sends the credential to the LLM-specified host - and (4) an attacker can influence the content the LLM processes, either through direct user input, retrieved external documents, or injected tool output. Applications that always supply api_key explicitly are not affected, as the fallback is never invoked. Exploitation is bounded by CVSS UI:A: the LLM must actively process attacker-influenced prompts, meaning purely batch or isolated agent deployments without external input channels are not directly exploitable through this vector.

Impact

The vendor-assigned CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N) scores 6.9 (Medium), reflecting high confidentiality impact against the vulnerable system but requiring active user interaction (UI:A) - in practice, the LLM must process attacker-influenced content. No EPSS score is present in the available data, so exploitation likelihood cannot be quantified statistically. The absence of a KEV listing means CISA has not confirmed in-the-wild exploitation. However, the confidentiality-only CVSS impact (C:H/I:N/A:N) may understate real-world risk: a stolen Elasticsearch API key can enable an attacker to read, modify, or delete index data far beyond the initial compromise, representing significant lateral-movement potential. The vendor's choice of AT:N is debatable - exploitation requires three concurrent deployment conditions (tool in use, env var set, api_key not explicitly passed), which arguably fits AT:P in CVSS 4.0 and AC:H in CVSS 3.1. This is explicitly noted as an area of metric uncertainty. The strongest mitigating factor is population size: strands-agents-tools is a relatively new, niche AI agent SDK with limited enterprise deployment breadth.

Exploit ScenarioDerived

An attacker embeds a crafted instruction in content the LLM processes - such as a malicious document retrieved from a user-supplied URL, adversarial user message, or poisoned tool output - directing the elasticsearch_memory tool to connect to an attacker-controlled HTTPS endpoint by overriding the es_url parameter. Because the operator omitted the explicit api_key argument, the tool appends the ELASTICSEARCH_API_KEY environment variable to the Authorization header of the outbound HTTP request, where the attacker's server logs and exfiltrates it. No public proof-of-concept exploit has been identified, but the technique directly mirrors documented prompt injection attacks that manipulate LLM tool schemas to redirect network calls.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 – Jul 15, 2026

Server-side request forgery in the strands-agents-tools elasticsearch_memory tool enables prompt-injection attacks that exfiltrate the operator's Elasticsearch API key to attacker-controlled infrastructure. Applications using strands-agents-tools prior to 0.7.0 that rely on the ELASTICSEARCH_API_KEY environment-variable fallback - rather than explicitly passing api_key - are exposed to credential theft when an attacker can influence LLM input. No public exploit code or CISA KEV listing has been identified at time of analysis, but the prompt-injection-to-SSRF primitive is well understood in the AI agent security community and the credential-theft impact warrants prompt remediation.

RemediationAI

The primary fix is to upgrade strands-agents-tools to version 0.7.0 or later via pip install --upgrade strands-agents-tools, confirmed available at https://pypi.org/project/strands-agents-tools/0.7.0/. Per the AWS advisory at https://aws.amazon.com/security/security-bulletins/2026-056-aws/, Amazon recommends all operators rotate their ELASTICSEARCH_API_KEY immediately, regardless of whether exposure is suspected, because SSRF-based credential theft may leave no application-level log trace. As a compensating control prior to patching, operators should explicitly pass the api_key parameter in all elasticsearch_memory tool invocations to prevent the environment-variable fallback from activating - this eliminates the credential-exfiltration path without disabling the tool. Alternatively, removing ELASTICSEARCH_API_KEY from the agent process environment entirely and injecting it at call time via a secrets manager (such as AWS Secrets Manager) prevents the fallback from having a credential to disclose; the trade-off is added operational complexity at each invocation site.

Affected VersionsENISA

strands-agents-tools 0 <0.7.0

Affected Packages

euvd strands_agents_tools fix: 0.7.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

The strands-agents-tools Python package (CPE: cpe:2.3:a:amazon:strands-agents-tools:*:*:*:*:*:*:*:*) provides pre-built tool integrations for Amazon's Strands Agents SDK, including an elasticsearch_memory tool that allows LLM agents to use Elasticsearch as a memory backend. CWE-918 (Server-Side Request Forgery) manifests because the tool exposes its connection parameters - es_url, cloud_id, and api_key - directly within the schema visible to the LLM, making them LLM-controllable inputs rather than operator-only configuration. When a caller omits api_key, the implementation silently falls back to the ELASTICSEARCH_API_KEY process environment variable and sends it in the HTTP Authorization header to whichever host the LLM specifies. This design collapses the trust boundary between operator secrets and LLM-controlled request targets, creating a direct prompt-injection-to-SSRF-to-credential-exfiltration chain that the CVSS 4.0 vector AV:N/AC:L/AT:N/PR:N/UI:A/VC:H accurately captures.

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 (AMZN) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Three required deployment prerequisites justify AC:H; UI:R reflects mandatory LLM processing of attacker-controlled input; no integrity or availability impact applies.

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

Primary rating from Vendor (AMZN).

CVSS VectorVendor: AMZN

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

DescriptionCVE.org

Strands Agents is an open-source Python SDK for building and running AI agents. The strands-agents-tools package provides pre-built tools for use with the SDK, including the elasticsearch_memory tool for agent memory storage. We identified CVE-2026-15746, a server-side request forgery (SSRF) issue in the elasticsearch_memory tool. The tool exposed its connection parameters (es_url, cloud_id, api_key) as fields the large language model (LLM) could control through the tool schema. When a caller omitted the api_key parameter, the tool fell back to the operator's ELASTICSEARCH_API_KEY environment variable and sent it to whichever host the LLM specified. A crafted prompt could cause the tool to connect to a threat-actor-controlled server and disclose the operator's Elasticsearch API key in the Authorization header.

We recommend you upgrade to strands-agents-tools version 0.7.0 or later. As a precautionary measure, we recommend all operators rotate their ELASTICSEARCH_API_KEY, even if there is no indication the credential was exposed.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
emerging AI agent SDK, limited enterprise production footprint
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

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