RERUM Can Be Attacked By Trees
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- javascript
Direzione di ricerca
Inizia individuando l’implementazione di getAllVersions e il percorso interno per le query delle versioni, quindi confronta il loro comportamento con l’approccio di paginazione /query descritto nell’issue. Esegui il deploy dell’app e testa oggetti con 100 e oltre 1000 versioni; il lavoro è completato quando le risposte sono limitate a 100, i cursori recuperano le versioni rimanenti e gli oggetti con molte versioni non esauriscono più la memoria di pm2.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
getAllVersions loads unbounded data into memory. We were able to perform a successful History Tree Attack using an object that has 100 versions in history. Deeply versioned objects (1000+) can cause pm2 threads to run out of memory.
Recommendation: Add pagination to version queries. Limit default response to 100 versions with cursor-based pagination. This is how using /query for large data responses is handled by clients when they query for data. The technique can be used internally too.
Ensure the change is functional by testing it yourself and ensuring it solves the attack vector. Human developers can deploy the app and manually test the code you propose.
- Lingua principale
- JavaScript
- Stelle
- 3
- Fork
- 6
- Merge medio
- 4g 9h
- PR unite (30g)
- 5
Preparare l'ambiente
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 CenterForDigitalHumanities/rerum_server_nodejs
-
bug documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
backend dependencies easy
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
CenterForDigitalHumanities/rerum_server_nodejs#290 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 50/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 74/100
Tutte le issue di CenterForDigitalHumanities/rerum_server_nodejs
Issue simili
-
bug CI breakage triage needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
oppia/oppia#27517 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
draftomen enhancement size: S
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
andreagrandi/draftomen#761 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
HarperFast/harper#2866 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
HarperFast/harper-pro#927 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
anthropics/skills#1897 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno