🔍 Contexte

Publié le 30 octobre 2026 sur le blog de Hacktron (hacktron.ai), cet article est un post-mortem de recherche offensive menée sur GNU Savannah, la forge logicielle hébergeant des projets GNU critiques comme Bash et Coreutils. La recherche a été conduite via la plateforme Hacktron et signalée à la FSF le 11 mai 2026.

🐛 Vulnérabilité principale — HCK-001 (Critique)

La forge utilise Savane, une application PHP héritée du code SourceForge de 2001. Le validateur d’adresses email (check_email) accepte des caractères spéciaux comme les backticks dans la partie locale d’une adresse, conformément à la RFC. Lors du test de clé GPG (/my/admin/gpgkeys), la fonction test_listing() concatène l’adresse email directement dans une commande shell passée à gpg via utils_run_proc(), sans échappement.

Exemple de payload :

a ` t o u c h $ { I F S } / t m p / s a v a n e - r c e - p r o o f ` @ a t t a c k e r . e x a m p l e

L’exploitation se déroule en 4 étapes :

  1. Enregistrement avec l’adresse email malveillante
  2. Accès à la page de gestion des clés GPG
  3. Soumission d’une clé GPG et clic sur “Test GPG keys”
  4. Exécution de commande arbitraire en tant qu’utilisateur web

La vulnérabilité est présente depuis la version Savane 3.17-c369 (7 mars 2026) et affectait savannah.gnu.org et savannah.nongnu.org.

⚙️ Chaîne d’exploitation complète

  • RCE : reverse shell obtenu en tant qu’utilisateur web
  • Accès base de données : credentials lus dans la configuration Savane
  • Élévation de privilèges : flag super_user positionné en base → accès admin
  • Usurpation d’identité : fonction “Become this user” utilisée pour se connecter en tant que Chet Ramey (mainteneur de Bash)
  • Accès push Bash : page de clés SSH de Chet Ramey accessible en écriture → possibilité d’ajouter une clé SSH et d’obtenir un accès push au dépôt upstream de Bash
  • Escalade root : exploitation de CVE-2023-2640 et CVE-2023-32629 (GameOver(lay), OverlayFS) sur le kernel linux-libre 5.15 de Trisquel GNU/Linux 11 (non patché avant USN-8255-1 du 7 mai 2026)
  • Accès serveur de backup GNU : clé SSH trouvée en root permettant l’accès SSH à un hôte de backup GNU

📋 Bilan des 26 vulnérabilités signalées

ID Sévérité Description
HCK-001 Critique Injection de commande via email dans le test GPG (RCE)
HCK-002 Critique Bypass d’autorisation dans la configuration admin globale
HCK-003 Haute Suppression de listes de diffusion par tout membre de groupe
HCK-004 Haute Modification des adresses de notification tracker par tout utilisateur
HCK-006 Haute Réinitialisation du mot de passe admin de liste de diffusion
HCK-008 Haute Accès à des fichiers privés via paramètre de requête non vérifié
HCK-010 Moyenne Détournement de session via SSO cross-domaine (token en URL)
HCK-012 Moyenne Hachages de réinitialisation de mot de passe sans expiration
HCK-017 Moyenne XSS stocké via le champ nom réel

📅 Chronologie

  • 07/03/2026 : Savane 3.17-c369 introduit la vulnérabilité
  • 07/05/2026 : Canonical publie USN-8255-1 (patch kernel 5.15)
  • 11/05/2026 : Signalement à la FSF
  • 12/05/2026 : Accusé de réception par Corwin Brust
  • 14/05/2026 : FSF installe le kernel corrigé
  • Mai 2026 : Envoi des 25 vulnérabilités supplémentaires
  • 19/06/2026 : Publication du communiqué FSF
  • 07/08/2026 : Publication des patches Savane

📌 Nature de l’article

Il s’agit d’une publication de recherche offensive (post-mortem de pentest responsable) produite par Hacktron, documentant une chaîne d’exploitation complète sur une infrastructure open source critique, avec divulgation coordonnée à la FSF.

🧠 TTPs et IOCs détectés

TTP

  • T1190 — Exploit Public-Facing Application (Initial Access)
  • T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)
  • T1068 — Exploitation for Privilege Escalation (Privilege Escalation)
  • T1078 — Valid Accounts (Defense Evasion)
  • T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
  • T1098.004 — Account Manipulation: SSH Authorized Keys (Persistence)
  • T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain (Initial Access)
  • T1087 — Account Discovery (Discovery)

IOC

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 3 novembre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.


🟡 Indice de vérification factuelle : 55/100 (moyenne)

  • ⬜ hacktron.ai — source non référencée (0pts)
  • ✅ 10809 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 4 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 8 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ✅ 2/2 CVE(s) confirmée(s) (CIRCL) (5pts)

🔗 Source originale : https://www.hacktron.ai/blog/hacking-gnu-savannah