Skip to content

Fix updater regression for ZIP root directory entries#15

Closed
AtlasLabs797 wants to merge 1 commit into
V-01.08from
codex/fix-zip-entry-handling-for-updates
Closed

Fix updater regression for ZIP root directory entries#15
AtlasLabs797 wants to merge 1 commit into
V-01.08from
codex/fix-zip-entry-handling-for-updates

Conversation

@AtlasLabs797
Copy link
Copy Markdown
Owner

Motivation

  • Restaurar compatibilidad del actualizador con archivos ZIP que contienen una entrada de directorio raíz (por ejemplo ./) que son generados por flujos comunes de empaquetado.
  • Evitar la eliminación/rechazo de paquetes inocuos manteniendo la protección contra Zip Slip para rutas fuera de packageRoot.

Description

  • En ActualizacionService.TryExtractPackageSafely se añadió normalizedRootFullPath = Path.TrimEndingDirectorySeparator(rootFullPath) y se introdujo la condición isRootDirectoryEntry que permite la igualdad exacta con la raíz solo cuando la entrada del ZIP es un directorio.
  • La verificación original StartsWith(rootFullPath) se mantiene para todos los demás casos, preservando la defensa contra path traversal.
  • Archivos tocados: Atlas Balance/backend/src/AtlasBalance.API/Services/ActualizacionService.cs, Documentacion/DOCUMENTACION_CAMBIOS.md, Documentacion/LOG_ERRORES_INCIDENCIAS.md, y Documentacion/Versiones/v-01.07.md.
  • Se agregó documentación de la incidencia, la causa y la corrección bajo la versión V-01.07 y la bitácora de cambios correspondiente.

Testing

  • Se intentó ejecutar la prueba focalizada con timeout 180s dotnet test 'Atlas Balance/backend/tests/AtlasBalance.API.Tests/AtlasBalance.API.Tests.csproj' --filter "FullyQualifiedName~Actualizacion", pero dotnet no está disponible en este entorno, por lo que la validación automatizada quedó pendiente.
  • Resultado actual: cambio compilable en el árbol de código y documentación actualizada; se requiere ejecutar los tests backend en un entorno con SDK .NET para verificar el comportamiento con un ZIP que incluya ./.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant