Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

RERUM Can Be Attacked By Trees

Abierto
#254 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
javascript
Área
backend, security

Línea de trabajo

Comienza localizando la implementación de getAllVersions y la ruta interna de consulta de versiones, y luego compara su comportamiento con el enfoque de paginación de /query descrito en el issue. Despliega la app y prueba objetos con 100 y más de 1000 versiones; se considera terminado cuando las respuestas están limitadas a 100, los cursores recuperan las versiones restantes y los objetos con muchas versiones ya no agotan la memoria de pm2.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

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.

Lenguaje dominante
JavaScript
Estrellas
3
Forks
6
Merge medio
4 d 9 h
PR fusionados (30 d)
5

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de CenterForDigitalHumanities/rerum_server_nodejs

Todos los issues de CenterForDigitalHumanities/rerum_server_nodejs

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.