Skip to main content

Module archive

Module archive 

Source
Expand description

Extraction sûre d’archives tar (défense en profondeur).

La crate tar valide déjà les chemins lors de unpack, mais mnemo manipule des archives potentiellement fournies par l’utilisateur (mnemo restore) ou téléchargées (mnemo upgrade). On ajoute donc une validation explicite et testable de chaque entrée avant écriture :

  • rejet des chemins absolus (/tmp/evil) ;
  • rejet des remontées de dossier (../evil) ;
  • rejet des liens (symboliques / physiques) dont la cible sort de la racine.

Garantie : aucune écriture hors du dossier de destination fourni.

Functions§

safe_unpack
Extrait une archive tar dans dest en validant chaque entrée avant écriture. Le chemin de l’entrée et, le cas échéant, la cible d’un lien sont contrôlés par validate_entry_path.
validate_entry_path
Vérifie qu’un chemin d’entrée d’archive est sûr (fonction pure).