security: redirect_uri-Allowlist + mail Path-Traversal-Schutz
- common.py /authorize: redirect_uri muss https://claude.ai/ oder https://claude.com/ sein (verhindert offenen Redirect / Code-Abfluss an fremde URIs). - mail/server.py _open_folder: realpath-Check, Ordner muss im Account-Verzeichnis bleiben (Path-Traversal verhindert). - tests: get_token_pkce auf sicheren Flow aktualisiert (erlaubte redirect_uri + client_secret). 54/54 Tests gruen. test-Client bleibt (Test-Suite braucht ihn, Secret 600-geschuetzt). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -132,6 +132,9 @@ async def oauth_authorize(request: Request):
|
||||
if not code_challenge:
|
||||
return HTMLResponse("<h1>Fehler</h1><p>PKCE erforderlich (code_challenge fehlt).</p>", status_code=400)
|
||||
|
||||
if not redirect_uri.startswith(("https://claude.ai/", "https://claude.com/")):
|
||||
return HTMLResponse("<h1>Fehler</h1><p>Ungueltige redirect_uri.</p>", status_code=400)
|
||||
|
||||
code = secrets.token_urlsafe(32)
|
||||
_auth_codes[code] = {
|
||||
"client_id": client_id,
|
||||
|
||||
Reference in New Issue
Block a user