Extraiga de forma segura zip o tar con Python

Estoy tratando de extraer los archivos zip y tar enviados por el usuario a un directorio. La documentación para zipfile's.extraer todo método (de manera similar con tarfileextraer todo) indica que es posible que las rutas sean absolutas o contengan.. Rutas que van fuera de la ruta de destino. En su lugar, podría usarextract a mí mismo, así:

<code>some_path = '/destination/path'
some_zip = '/some/file.zip'
zipf = zipfile.ZipFile(some_zip, mode='r')
for subfile in zipf.namelist():
    zipf.extract(subfile, some_path)
</code>

¿Es esto seguro? ¿Es posible que un archivo en el archivo termine fuera desome_path ¿en este caso? Si es así, ¿de qué manera puedo garantizar que los archivos nunca terminen fuera del directorio de destino?

Respuestas a la pregunta(4)

Su respuesta a la pregunta