[BUG] NoSQL Injection 1 only answers once per Tomcat run: the servlet closes the shared MongoClient
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Leggi NoSqlInjection1.doPost e MongoDatabase.getMongoDbConnection per confermare che il client è condiviso mentre il cursore è limitato alla richiesta. Rimuovi la chiusura del client e aggiungi un test di integrazione che invii due richieste e si aspetti risultati entrambe le volte; il cursore deve continuare a essere chiuso. Controlla prima le convenzioni esistenti per i test di integrazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Discovered during #958.
NoSqlInjection1.doPost gets its client from MongoDatabase.getMongoDbConnection(applicationRoot, credential) and calls mongoClient.close() in its finally. Since the pooling work in #816, MongoDatabase caches one client per credential in credentialClients, so the servlet closes the shared client. Every later request fails with IllegalStateException: state should be: open and the player sees "An Error Occurred! You must be getting funky!" until Tomcat restarts.
Reproduced on dev (driver 3.12, MongoDB 4.1.13) and with driver 5.13 / MongoDB 8.0.
Fix: remove the close() on the shared client (the cursor close stays). The injection itself ($where built from user input) is untouched. Add an IT that submits twice and expects results both times.
🤖 Generated with Claude Code
- Lingua principale
- Java
- Stelle
- 1.5k
- Fork
- 519
- Merge medio
- 1g 1h
- PR unite (30g)
- 61
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun 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 OWASP/SecurityShepherd
-
Setup fails with "No suitable driver found" when Tomcat started without database.propertiesForse già presa @HusainMain l’ha presa 5 giorni fa. ApertaBug Platform
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
OWASP/SecurityShepherd#1082 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
DirectObjectBankLogin holds a challenge-pool connection while bankForm() borrows a second oneForse già presa @utafrali l’ha presa 5 giorni fa. ApertaBug Levels
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
OWASP/SecurityShepherd#1063 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Bug WebApp
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
OWASP/SecurityShepherd#996 ·
I maintainer di solito rispondono entro 1 giorno
-
index.jsp: CTF countdown never clears, malformed deletePlayers error HTML, debug alert on success messagesForse già presa @Sagar07Kr l’ha presa 6 giorni fa. ApertaBug WebApp
Difficoltà 1/5 1-3 ore Idoneità per principianti 84/100
OWASP/SecurityShepherd#995 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Bug Levels
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
OWASP/SecurityShepherd#990 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di OWASP/SecurityShepherd
Issue simili
-
status:pending type:bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
EngineHub/WorldGuard#2329 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Dans-Plugins/Medieval-Roleplay-Engine#396 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 6 giorni
-
type: dependency-upgrade
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
spring-projects/spring-session#4156 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
quarkiverse/quarkus-langchain4j#3127 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno