lambdaclass / lambdaclass/lambda_compiler_kit

security: deep nesting causes stack overflow in JSON parser

Abierto
#30 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Lean
Estrellas
2
Forks
1
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Problem

The JSON parser (parseValue/parseArrayElems/parseObjectElems) is mutually recursive with no depth limit. Deeply nested JSON (e.g., [[[[...10000 levels...]]]]) will exhaust the Lean runtime stack.

This is distinct from the DoS risk in #13 (which is about exponent arithmetic) — this is about recursion depth on the parse stack.

Expected fix

Add a configurable maximum nesting depth to the parser (defaulting to a safe value like 512 or 1024). Return a ParseError.nestingDepthExceeded on overflow.

References

  • Related to: #13 (DoS prevention)
  • Flagged by AI code review on PR #8

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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.

Línea de trabajo

Empieza leyendo las funciones del analizador JSON parseValue, parseArrayElems y parseObjectElems para seguir su recursión mutua y el manejo existente de ParseError. Define cómo se pasa el límite de profundidad configurable y qué valor predeterminado es apropiado; después, verifica que una entrada profundamente anidada devuelva ParseError.nestingDepthExceeded sin agotar la pila de ejecución.

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

Evaluación

Área
compilers, security
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.