Skip to content

docs: seventy-first public scan (theroyallab/tabbyAPI) - #101

Merged
elfrost merged 1 commit into
mainfrom
docs/scan-tabbyapi-2026-08-08
Aug 8, 2026
Merged

docs: seventy-first public scan (theroyallab/tabbyAPI)#101
elfrost merged 1 commit into
mainfrom
docs/scan-tabbyapi-2026-08-08

Conversation

@elfrost

@elfrost elfrost commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Adds the tabbyAPI scan write-up, prepends the index entry, and refreshes the scan counters (69/67 -> 71).

Two real findings, both filed upstream as theroyallab/tabbyAPI#448:

  1. CORS composite - allow_origins=["*"] in endpoints/server.py composes with the disable_auth guidance ("turn this on if you are ONLY connecting from localhost") and the common/auth.py docstring ("since TabbyAPI is a local application, it should be fine") to give any web page in the user's browser the admin API.
  2. image_url SSRF - no scheme or host policy on the multimodal fetch path, disable_fetch_requests defaults to false.

Both were verified with runnable differentials rather than asserted from reading. The differentials mattered: Starlette reflects the attacker origin rather than sending *, and flipping allow_credentials alone does not close the hole - only the origin allowlist does. The SSRF differential removed two claims (file:// read, absent timeout).

🤖 Generated with Claude Code

…te + image_url SSRF

Two real findings filed as theroyallab/tabbyAPI#448:
- wildcard CORS composes with the documented 'localhost-only means
  disable_auth is fine' guidance to hand any visited web page the admin
  API on a loopback-bound instance
- multimodal image_url fetch has no scheme/host policy and is on by default

Both verified with runnable differentials against the resolved dependency
versions; the differentials corrected the mechanism (Starlette reflects the
origin) and the remedy (allow_credentials=False is not a fix), and removed
two overclaims from the SSRF item.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@elfrost
elfrost merged commit 5f959fa into main Aug 8, 2026
@elfrost
elfrost deleted the docs/scan-tabbyapi-2026-08-08 branch August 8, 2026 13:18
elfrost added a commit that referenced this pull request Sep 11, 2026
docs: scan #101 — mljar/mercury (1 real, reported privately via PVR)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant