Incorrect expiration date validation for `_perishable_token_expires_at`
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- javascript, nodejs
- Ambito
- authentication, backend-api-design
Direzione di ricerca
Inizia in src/Routers/UsersRouter.js intorno alle righe 454-471 e confronta la ricerca del token con il percorso dell’email. Verifica la condizione di scadenza e le opzioni della query rispetto alla descrizione dell’issue. È completato quando i token validi e non scaduti vengono trovati tramite una ricerca con un singolo risultato usando il contesto di manutenzione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
New Issue Checklist
- Report security issues confidentially.
- Any contribution is under this license.
- Before posting search existing issues.
Issue Description
⚠️ Potential issue | 🔴 Critical
Token lookup uses inverted expiry comparator and lacks Auth.maintenance/limit.
- _perishable_token_expires_at should be greater than “now” for a valid token.
- Use Auth.maintenance like the email path for consistency.
- Limit results to 1.
Apply:
- userResults = await req.config.database.find('_User', {
- _perishable_token: token,
- _perishable_token_expires_at: { $lt: Parse._encode(new Date()) },
- });
+ userResults = await req.config.database.find(
+ '_User',
+ {
+ _perishable_token: token,
+ _perishable_token_expires_at: { $gt: Parse._encode(new Date()) },
+ },
+ { limit: 1 },
+ Auth.maintenance(req.config)
+ );
🤖 Prompt for AI Agents
In src/Routers/UsersRouter.js around lines 454 to 471, the token lookup query
uses the wrong expiry comparator and is missing the same options as the email
path; change the _perishable_token_expires_at check to $gt Parse._encode(new
Date()) so only unexpired tokens match, and call req.config.database.find with
the same options as the email branch: pass { limit: 1 } and
Auth.maintenance(req.config) as the query options so the lookup is limited to
one result and runs under maintenance context.
Reported by @coderabbitai
- Lingua principale
- JavaScript
- Stelle
- 21.4k
- Fork
- 4.8k
- Merge medio
- 8h 6m
- PR unite (30g)
- 62
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
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 parse-community/parse-server
-
Add MongoDB 9 supportForse già presa @ga262 l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
parse-community/parse-server#10750 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
parse-community/parse-server#10720 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
parse-community/parse-server#10710 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Node.js version in `.nvmrc` does not satisfy `engines.node`Forse già presa @kokokoXUY l’ha presa 11 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
parse-community/parse-server#10699 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
RedisCacheAdapter put, del and clear reject on a Redis outage, producing unhandled rejectionsForse già presa @AdrianCurtin l’ha presa 54 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
parse-community/parse-server#10634 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di parse-community/parse-server
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 3 giorni
-
audit.md numbers Theming and Responsive Design differently in the headings and the score tableForse già presa @pbakaus l’ha presa oggi. Apertaneeds triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
pbakaus/impeccable#979 ·
I maintainer di solito rispondono entro 1 giorno
-
area/web interface
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
mastodon/mastodon#40924 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
fireEvent.select does not wrap its automatic native focus in actForse già presa @sergioperezcheco l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
bug user-priority/P2
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno