Case · DiggingBeagle record

Strands A2A server shared agent conversation state across tenant contexts

CVE-2026-115419 allowed authenticated users of a shared Strands Agents A2A server to see or influence another caller’s conversation history. Fixed releases use isolated agent instances per context instead of trusting a different context_id as an effective tenant boundary.

Scope

Strands Agents Python and TypeScript A2A servers with more than one caller or tenant. Technical vulnerability confirmed by maintainer advisory; no production victim count has been published.

Assessment profile

Assessment method
Setting
research demonstration
Exploitation
demonstrated
Evidence
Grade A
Remediation
patch available
AI role
AGAINST AI
Basis and provenance

Maintainer documentation establishes cross-caller conversation-state aliasing and affected/fixed boundaries. No production victim or exploitation count is known.

Assessed Oct 24, 2026 using diggingbeagle.assessment/1.

At a glance

Mechanism and trust boundary

  1. 01

    Run an A2A agent server with multiple callers

    The affected Python or TypeScript Strands SDK A2A server handles remote messages tied to context_id values.

    Boundary: Authenticated remote caller / agent session identity

  2. 02

    Reuse conversation state across context identifiers

    The server bound different callers to shared agent history instead of a per-context instance, despite each call carrying a distinct identifier.

    Boundary: A2A context_id / mutable model conversation state

  3. 03

    Read or influence another caller’s session

    A signed-in caller could encounter other users’ conversation content or bias subsequent model behavior without needing to compromise the model weights.

    Boundary: Tenant chat history / cross-user model decisions

Timeline

  1. Oct 22, 2026
    Event type unspecified

    Cross-session A2A flaw disclosed

    The SDK advisory identified the missing session isolation and published language-specific fixed releases.

  2. Oct 22, 2026
    disclosure

    Public disclosure

Claims & evidence

CLM-STRANDS-A2A-SESSIONThe Strands A2A server could share agent conversation history across callers using different context_id values, permitting an authenticated remote user in a multi-tenant deployment to read another caller’s history or influence subsequent responses.supported

Basis: reported finding

Link to claim
CLM-STRANDS-A2A-VERSIONSAffected implementations were Python strands-agents versions containing multiagent.a2a before 1.43.0, and TypeScript @strands-agents/sdk before 1.5.0; both releases implement per-context agent-factory isolation.supported

Basis: reported finding

Link to claim
CLM-STRANDS-A2A-MITIGATIONThe project states that affected multi-tenant servers have no complete workaround except upgrading or running a separate A2A server instance per caller or tenant.supported

Basis: reported finding

Link to claim
CLM-STRANDS-ENRICH-WORKAROUNDThe advisory says there is no complete workaround for affected shared-server versions; Python 1.43.0 and TypeScript 1.5.0 introduce per-A2A-context agent factories.supported

Basis: reported finding

Link to claim
CLM-STRANDS-ENRICH-PREREQUISITESThe maintainer says the cross-session state flaw requires an A2A service reachable by more than one user or tenant; an authenticated caller may read or influence another caller’s conversation.supported

Basis: reported finding

Link to claim

Implications

Authentication alone cannot guarantee tenant separation if the server shares the agent object or mutable chat history. The advisory describes an actual isolation design flaw with fixed SDK releases, but it does not name production victims or evidence of financially material downstream actions.

Controls and mitigations

  • Upgrade strands-agents Python to 1.43.0 and @strands-agents/sdk to 1.5.0. The maintainer reports no complete workaround in vulnerable shared deployments; isolate each user on separate A2A instances until upgraded and validate per-context factory construction.

Unknowns and contradictions

  • The number of deployments that permitted cross-tenant calls is not known.
  • The published advisory establishes vulnerability, not confirmed production exfiltration.

Sources and citation

Material revision history

  1. Oct 24, 2026 · Canonical change recorded · new in release · revision 188