Une vulnérabilité dans le gestionnaire d'actions GitHub a permis de compromettre les packages dans Nixpkgs.

Des vulnĂ©rabilitĂ©s dans les gestionnaires d'actions GitHub, automatiquement invoquĂ©s lors de la soumission de requĂȘtes d'extraction au dĂ©pĂŽt de paquets Nixpkgs, utilisĂ© dans la distribution NixOS et l'Ă©cosystĂšme de gestion de paquets Nix, ont Ă©tĂ© rĂ©vĂ©lĂ©es. Cette vulnĂ©rabilitĂ© permettait Ă  un utilisateur non autorisĂ© d'extraire un jeton accordant un accĂšs en lecture et en Ă©criture au code source de tous les paquets hĂ©bergĂ©s dans Nixpkgs. Ce jeton permettait de modifier directement n'importe quel paquet via le dĂ©pĂŽt Git du projet, contournant ainsi les processus de rĂ©vision et d'approbation.

La possibilitĂ© de compromettre Nixpkgs et d'injecter du code personnalisĂ© dans n'importe quel paquet a Ă©tĂ© dĂ©montrĂ©e par des chercheurs en sĂ©curitĂ© en octobre dernier lors de la confĂ©rence NixCon et a Ă©tĂ© immĂ©diatement corrigĂ©e dans l'infrastructure du projet. Cependant, les dĂ©tails de l'attaque n'ont Ă©tĂ© divulguĂ©s qu'un an plus tard. Le problĂšme Ă©tait liĂ© Ă  l'utilisation de gestionnaires d'actions GitHub dans le dĂ©pĂŽt GitHub Nixpkgs, liĂ©s Ă  l'Ă©vĂ©nement « pull_request_target Â» et effectuant des vĂ©rifications automatiques lors de nouvelles requĂȘtes d'extraction.

Contrairement Ă  l'Ă©vĂ©nement « pull_request Â», les gestionnaires de « pull_request_target Â» disposent d'un accĂšs en lecture/Ă©criture Ă  l'environnement de compilation, ce qui nĂ©cessite une attention particuliĂšre lors de l'utilisation des donnĂ©es transmises dans une requĂȘte de tirage. L'un des gestionnaires liĂ©s Ă  « pull_request_target Â» a validĂ© le fichier « OWNERS Â» fourni dans la requĂȘte de tirage en compilant et en appelant l'utilitaire codeowners-validator : Ă©tapes : — uses : actions/checkout@eef61447b9ff4aafe5dcd4e0bbf with : ref : refs/pull/$/merge path : pr — run : nix-build base/ci -A codeownersValidator — run : result/bin/codeowners-validator env : OWNERS_FILE : pr/ci/OWNERS

Le problĂšme rĂ©sidait dans le fait que si le fichier OWNERS Ă©tait mal formatĂ©, l'utilitaire codeowners-validator enregistrait le contenu de la chaĂźne malformĂ©e dans le journal standard, accessible au public. L'attaque consistait Ă  placer un lien symbolique nommĂ© OWNERS dans la requĂȘte d'extraction, pointant vers le fichier « .credentials Â», qui stocke les identifiants dans l'environnement de compilation. Par consĂ©quent, le traitement de ce fichier provoquait une erreur et la premiĂšre ligne, contenant le jeton d'accĂšs au dĂ©pĂŽt, Ă©tait enregistrĂ©e dans le journal public.

 Une vulnérabilité dans le gestionnaire d'actions GitHub a permis de compromettre les packages dans Nixpkgs.

De plus, une autre vulnĂ©rabilitĂ© a Ă©tĂ© dĂ©couverte dans le gestionnaire qui vĂ©rifie les rĂšgles editorconfig. Ă©tapes : — nom : obtenir la liste des fichiers modifiĂ©s Ă  partir de PR exĂ©cuter : gh api [
] | jq [ 
 ] > « $HOME/changed_files » — utilise : actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 avec : ref : refs/pull/$/merge — nom : vĂ©rification d'EditorConfig exĂ©cuter : cat « $HOME/changed_files » | xargs -r editorconfig-checker

Dans ce cas, le problĂšme rĂ©sidait dans l'utilisation de l'utilitaire « xargs Â» pour exĂ©cuter editorconfig-checker avec chaque fichier de la pull request. Les noms de fichiers n'Ă©tant pas validĂ©s, un attaquant pouvait inclure un fichier contenant des caractĂšres spĂ©ciaux dans la pull request, qui seraient traitĂ©s comme des arguments de ligne de commande lors de l'exĂ©cution d'editorconfig-checker. Par exemple, lors de la crĂ©ation d'un fichier « --help Â», editorconfig-checker affichait un indice sur les options disponibles.

Source: opennet.ru

Achetez un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Achetez un hĂ©bergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster