OSS Agent Mesh (SAM): Unauthenticated credential disclosure via /enroll/status
Summary
The control plane of Google OSS Agent Mesh (SAM) returns an approved peer's signed Biscuit identity token from the GET /enroll/status endpoint without any authentication. An attacker only needs the peer_id, which the unauthenticated GET /info endpoint publishes. The stolen token can then be replayed as a bearer credential to read mesh authorization policies on /policies and to overwrite router addresses on /routers/lease.
Affected
- Google SAM versions 0.1.0-alpha.1 to before 0.1.0-alpha.9
- The CVE record lists 0.1.0-alpha.1 through 0.1.0-alpha.8; the default configuration is unaffected according to the CNA
Fixed in
- Upgrade to version 0.1.0-alpha.9 or later
Workaround
- No vendor workaround known. The CVE record names only the upgrade.
- Interim measure (not from the vendor): restrict network access to /info, /enroll/status, /policies and /routers/lease to trusted nodes only.
Exploitation
- Not known to be exploited in the wild; not listed in CISA KEV.
- CISA SSVC assessment: exploitation 'poc' (proof of concept), automatable: yes, technical impact: partial.
- EPSS is about 0.003.
Our recommendation
- Upgrade all SAM control planes and nodes to version 0.1.0-alpha.9 or later.
- Until then, restrict network access to the control plane endpoints.
- Treat any Biscuit credential that may have been exposed while vulnerable as compromised and re-enroll the affected peers.
- Check /policies and router lease records for unexpected changes and review logs for requests to /enroll/status and /routers/lease.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Release v0.1.0-alpha.9 github.com
- GitHub Security Advisory GHSA-hp3x-79wr-rx66 (google/sam) github.com
- GitHub Security Advisory GHSA-hp3x-79wr-rx66 (google/agentmesh) github.com
- OpenCVE CVE-2026-103090 app.opencve.io
- VulDB 425019 vuldb.com
- Mend/Vulners CVE-2026-103090 vulners.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 31 Oct 2026, 11:05.
Original description (NVD)
Missing Authentication for Critical Function (CWE-306) and Insufficiently Protected Credentials (CWE-522) in the control plane enrollment status handler (HandleEnrollStatus at GET /enroll/status in internal/controlplane/server.go) in Google OSS Agent Mesh (SAM) versions 0.1.0-alpha.1 through 0.1.0-alpha.8 allow an unauthenticated remote attacker to retrieve an approved bootstrap-enrolled peer's signed Biscuit identity token by supplying a peer_id obtainable from the unauthenticated GET /info endpoint. A related flaw in POST /enroll allowed any bootstrap-token holder to re-fetch another peer's credential. An attacker can replay the disclosed Biscuit token as a bearer credential on /policies to read mesh authorization policies and on /routers/lease to overwrite advertised router multiaddrs. Users should upgrade to version 0.1.0-alpha.9 or later, which requires cryptographic proof of possession of the enrollment private key on credential-releasing endpoints, enforces rate limiting, and validates router lease addresses.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
