
Preuve de concept pour CVE-2026-21436, démontrant un traversement de chemin dans le gestionnaire de paquets eopkg de Solus OS permettant l'écriture arbitraire de fichiers lors de l'installation de paquets.
eopkg <= 4.3.4, le gestionnaire de paquets de Solus OS, écrit directement les fichiers contenant des chemins absolus dans le contenu des paquets vers le répertoire spécifié lors de l'installation des paquets portant l'extension .eopkg.
Même si le paramètre --destdir, utilisé pour installer le paquet dans un répertoire spécifique, est employé, cette restriction peut être contournée grâce aux caractères ../ (traversal) présents dans le paquet, permettant ainsi d'écrire des fichiers préparés par un attaquant dans n'importe quel répertoire du système. Étant donné que l'outil eopkg s'exécute avec les privilèges root lors de l'installation des paquets, il est également possible d'écraser des fichiers existants sur le système.
La cause de la vulnérabilité est que eopkg, lors de l'extraction des paquets, n'utilise pas la méthode .extract() de Python avec le paramètre filter, ni ne vérifie d'une quelconque manière les chemins des fichiers.
$ git clone https://github.com/osmancanvural/CVE-2026-21436/
$ cd CVE-2026-21436
.eopkg que vous souhaitez modifier.install.tar.xz qu'il contient dans le dossier tarcontent.$ python3 archiveCreator.py
malicious-install.tar.xz généré en install.tar.xz et remplacez-le par le fichier présent dans le paquet d'origine./tmp/hello.txt a été créé.Remarque : Vous pouvez modifier le fichier archiveCreator.py et le dossier tarcontent pour changer le répertoire cible et le contenu du fichier.