Azure / Azure/run-command-handler-linux
Script filename from SasUri cannot contain /
- Lenguaje dominante
- Go
- Estrellas
- 2
- Forks
- 16
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 2
Descripción
I have a script source SasUri like:
```
https://xxx.blob.windows.net/container/foo/bar.sh
```
According to:
https://github.com/Azure/run-command-handler-linux/blob/6efb77e0fec9b1ff87c980d1a207f0fc73493b8a/pkg/download/blob.go#L82-L99
`fileName` becomes `foo/bar.sh`. However, directory `foo` doesn't exist so the `open` below always fails.
Suggest using fixed file name like a GUID. Otherwise you have to deal with `..` and `/` in paths which could cause a lot of security troubles.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza en pkg/download/blob.go, en el código de extracción del nombre de archivo y apertura del archivo al que hace referencia el issue. Rastrea cómo la ruta de SasUri se convierte en fileName y, después, verifica el manejo de foo/bar.sh y de las rutas que contienen .. o /. Está hecho cuando una URI de script con componentes de ruta anidados puede procesarse sin el error de directorio inexistente ni un comportamiento de ruta inseguro.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- go
- Área
- security
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100