hermes - 💡(How to fix) Fix [a2a_fleet] MEDIUM: tighten wide-open CORS, anonymous /health peer leak, and peer-URL SSRF

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
RAW_BUFFERClick to expand / collapse

Severity: MEDIUM (security bundle — CORS, info leak, SSRF)

A2A-5: wide-open CORS + anonymous peer-list leak

plugins/a2a_fleet/server.py:154-159 — CORS allow_origins=["*"], allow_headers=["*"] on a bearer-authenticated, peer-facing surface. server.py:166-175 — public unauthenticated /.well-known/agent-card.json and /health leak self name and all configured peer names to any origin. Fix: drop CORS to configured peer origins (server-to-server A2A does not need browser CORS); reduce /health payload — do not enumerate peers anonymously.

A2A-6: no URL scheme validation on peer URLs (SSRF)

plugins/a2a_fleet/fleet_config.py:130-131 and client.py:22-26 — peer url / agent_card_url are POSTed to verbatim with no scheme/host validation. A file:// or http://169.254.169.254/... peer URL is fetched as-is (SSRF / metadata-endpoint risk). Fix: validate url is http/https with a real host at config load; reject otherwise.

Upstream convention

Rubric #4/#9 require scheme-checking URLs and minimizing anonymous info disclosure.


Filed from opus-4.8 plugin audit (a2a_fleet).

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING