fc50afa3c8
KRITISCH: /token akzeptierte authorization_code OHNE client_secret
('rely on PKCE alone'-Zweig) und ueberging PKCE wenn code_challenge leer war.
Da client_id nur der Benutzername ist (z.B. 'stefan', steht in der Subdomain),
konnte jeder mit ratbarem Namen einen 30-Tage-Vollzugriffs-Token holen
(verifiziert ausnutzbar). Token galt zudem fuer alle 5 MCP-Dienste.
Fix:
- /authorize: code_challenge (PKCE) PFLICHT
- /token: client_secret PFLICHT (_resolve_client) UND PKCE-Verifikation PFLICHT,
Bypass-Zweige entfernt.
claude.ai sendet beides (client_secret_post + S256-PKCE, per Audit verifiziert)
-> kein erneutes Verbinden noetig, bestehende Tokens bleiben gueltig.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
9 lines
97 B
Plaintext
9 lines
97 B
Plaintext
venv/
|
|
__pycache__/
|
|
*.pyc
|
|
tokens.json
|
|
config.json
|
|
.active_tokens.json
|
|
*.before-*
|
|
.token_audit.log
|