RUSTSEC-2026-0367: Insecure Preservation of SUID/SGID Bits during ZIP Extraction Leading to Potential Privilege Escalation

Ouverte Adaptée aux débutants
#471 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
75/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
rust
Domaine
security

Piste de recherche

Commence par repérer la déclaration de dépendance zip et les chemins de code qui utilisent ZipArchive::extract() ou l’API d’extraction de flux. Effectue la mise à niveau vers une version corrigée de zip (>=9.0.0) et vérifie que les fichiers extraits ne reçoivent plus de bits privilégiés SUID, SGID ou sticky, à l’aide des tests pertinents du projet ou d’un contrôle d’extraction ciblé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Insecure Preservation of SUID/SGID Bits during ZIP Extraction Leading to Potential Privilege Escalation

Details
Package zip
Version 3.0.0
Date 2026-10-09
Patched versions >=9.0.0

The zip crate preserves privileged Unix permission bits (SUID, SGID, and sticky bits) from ZIP external_attributes during extraction, instead of masking them to safe permission bits. If a privileged process (for example, root in an installer, CI/CD pipeline, or container build) extracts an attacker-controlled ZIP archive using ZipArchive::extract() or the stream extraction API, files can be created as setuid-root or setgid. This behavior allows the creation of SUID/SGID files during extraction, which can lead to local privilege escalation depending on the execution environment.

For further details see: https://github.com/zip-rs/zip2/security/advisories/GHSA-vv5m-jxxh-4627

See advisory page for additional details.

Langage dominant
Rust
Étoiles
11
Forks
5
Merge moyen
1 j 6 h
PR mergées (30 j)
1

Préparer son environnement

  • Aucun Dockerfile ni fichier Docker Compose
  • Propose un modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de stackabletech/stackablectl

Toutes les issues de stackabletech/stackablectl

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.