Validate OAuth login redirects before using them in headers
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- authentication, backend, security
Direzione di ricerca
Start at the OAuth entry point where quart.request.args.get("login") is prefix-validated, then trace the value through pending_states to the Refresh response header. Determine the framework-level validation needed before storage and confirm that safe redirects continue to work while CRLF, null bytes, and other header-injection characters are rejected.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The login_uri query parameter is validated to start with / and not //, but is not checked for CRLF sequences, null bytes, or other header-injection characters before being stored in pending_states and later interpolated into the Refresh HTTP response header. While the ASGI server (Hypercorn) sanitizes header values as a secondary defense, the framework itself does not validate this value for the specific context in which it is used (an HTTP header).
Data flow: quart.request.args.get("login") → prefix validation (only) → stored in pending_states → interpolated into Refresh header → response
Attacker capability required: Remote unauthenticated user (can initiate an OAuth login flow with a crafted login parameter).
Impact on success: In the default deployment, Hypercorn rejects CRLF in header values, so no actual header injection occurs. This is a defense-in-depth gap: if the ASGI server were changed or misconfigured, the unsanitized value could enable HTTP response splitting.
- Lingua principale
- Python
- Stelle
- 7
- Fork
- 14
- Merge medio
- 11h 58m
- PR unite (30g)
- 1
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/infrastructure-asfquart
-
Set connection and total timeouts for OAuth token exchangeForse già presa @AnKiT-GaRG2 l’ha presa 3 giorni fa. Apertabug priority
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/infrastructure-asfquart#130 ·
I maintainer di solito rispondono entro 1 giorno
-
Document external service endpoints and failure behaviorForse già presa @AnKiT-GaRG2 l’ha presa 7 giorni fa. Apertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/infrastructure-asfquart#129 ·
I maintainer di solito rispondono entro 1 giorno
-
Document OAuth callback consistency rulesForse già presa @Marrshal15 l’ha presa 24 giorni fa. Apertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
apache/infrastructure-asfquart#126 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
ASVS priority
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
apache/infrastructure-asfquart#85 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Triage and track asfquart issuesForse già presa @sbp l’ha presa 23 giorni fa. Aperta
apache/infrastructure-asfquart#134 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apache/infrastructure-asfquart
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ClockGU/clockwork-backend#169 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
aws-samples/sample-per-model-bedrock#616 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
chnm/teachinghistory-hugo#47 ·
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
pandas-dev/pandas-stubs#2047 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno