Faille de sécurité CVE-2024-23112 : Un contournement d'autorisation dans FortiOS et FortiProxy


🚨 Faille CVE-2024-23112 : Contournement d’autorisation dans FortiOS et FortiProxy (CWE-639)

ybermenaces évolue sans cesse, obligeant les organisations à rester vigilantes face aux failles de sécurité. Une vulnérabilité récemment identifiée, référencée CVE-2024-23112, affecte les versions de FortiOS et FortiProxy. Cette faille repose sur une clé contrôlée par l’utilisateur, exploitant le CWE-639, un contournement d’autorisation critique.

🔍 Détail de la vulnérabilité

Produits impactés :

  • FortiOS : 7.4.0 à 7.4.1, 7.2.0 à 7.2.6, 7.0.1 à 7.0.13, 6.4.7 à 6.4.14

  • FortiProxy : 7.4.0 à 7.4.2, 7.2.0 à 7.2.8, 7.0.0 à 7.0.14

Vecteur d’attaque :
Un utilisateur authentifié peut manipuler une URL pour accéder aux favoris VPN d’un autre utilisateur via une faille d’autorisation insuffisante dans l’interface SSL-VPN.

🧠 Qu’est-ce que CWE-639 ?

CWE-639Authorization Bypass Through User-Controlled Key ») désigne une faiblesse où l’application s’appuie sur des identifiants fournis par l’utilisateur pour déterminer l’accès à des données, sans vérifier correctement les autorisations. Cela permet à un attaquant de modifier ces identifiants pour accéder à des ressources qui ne lui appartiennent pas.

🧪 Comment une attaque CWE-639 se produit-elle ?

  1. Identification d’un paramètre contrôlable :
    L’attaquant identifie un paramètre dans l’URL, un champ de formulaire ou un cookie (ex : user_id=123) utilisé pour déterminer quelles données afficher.

  2. Manipulation de la clé :
    L’attaquant modifie cette valeur (user_id=124) pour cibler un autre utilisateur.

  3. Soumission de la requête falsifiée :
    Si l'application ne valide pas que la ressource cible appartient bien à l'utilisateur connecté, elle renvoie les données d’un autre utilisateur.

💥 Exemples concrets

  • Accès aux données d’un autre compte :
    En changeant l’ID dans une URL comme /profile?id=123, un utilisateur peut consulter le profil d’un autre utilisateur.

  • Téléchargement de fichiers non autorisés :
    Modifier /download?file=doc1.pdf en /download?file=confidentiel.pdf.

  • Exécution de commandes critiques :
    Envoyer des identifiants de commande ou de requête modifiés pour interagir avec des fonctionnalités réservées.

⚠️ Impacts potentiels

  • Vol d'informations sensibles : données personnelles, informations financières, documents confidentiels.

  • Perturbation du système : suppression ou modification de données critiques.

  • Élévation de privilèges : un identifiant modifié pourrait donner accès à des fonctions réservées aux administrateurs.

🛡️ Comment s’en protéger ?

  1. Validation côté serveur :
    Toujours vérifier que l’utilisateur connecté est autorisé à accéder à la ressource demandée.

  2. Contrôles d’accès renforcés (RBAC) :
    Implémenter des politiques de sécurité basées sur les rôles et permissions.

  3. Utilisation d’ID non prévisibles :
    Éviter les identifiants incrémentaux (user_id=1, user_id=2, etc.).

  4. Journalisation et surveillance :
    Détecter toute tentative d’accès non autorisé par modification de paramètres.

  5. Mise à jour régulière des systèmes :
    Installer les correctifs de sécurité dès qu’ils sont disponibles.

⚙️ Exemple de code vulnérable (C#)

conn = new SqlConnection(_ConnectionString);
conn.Open();
int16 id = System.Convert.ToInt16(invoiceID.Text);
SqlCommand query = new SqlCommand("SELECT * FROM invoices WHERE id = @id", conn);
query.Parameters.AddWithValue("@id", id);
SqlDataReader objReader = objCommand.ExecuteReader();

Ce code est vulnérable car il ne vérifie pas que la facture demandée appartient à l’utilisateur connecté. Un attaquant peut ainsi consulter toute facture du système, simplement en modifiant l’identifiant.

🧩 Concepts associés

  • IDOR (Insecure Direct Object Reference) :
    Terme OWASP désignant le même type de vulnérabilité, souvent dans les API REST.

  • BOLA (Broken Object Level Authorization) :
    Terme utilisé pour les API où l’autorisation sur chaque objet n’est pas respectée.

  • Élévation de privilèges horizontale vs verticale :

    • Horizontale : un utilisateur accède aux données d’un autre avec le même niveau.

    • Verticale : un utilisateur obtient des droits administrateur ou accède à des fonctions privilégiées.

✅ Conclusion

La faille CVE-2024-23112 est une illustration concrète de la vulnérabilité CWE-639, qui demeure l’un des vecteurs d’attaque les plus fréquents dans les applications web et les VPN. Pour les entreprises utilisant FortiOS ou FortiProxy, il est impératif d’appliquer les mises à jour de sécurité publiées par Fortinet, et de renforcer les contrôles d’accès côté serveur pour éviter toute exploitation.

fortinet hacked

Commentaires

Posts les plus consultés de ce blog

🔍 DIRB – Exploration de Répertoires Web

Analyse technique du VLAN Hopping : Switch Spoofing et Double Tagging

🔐 Cyberattaques contre Airtel : Réalité Technique, Enjeux et Défenses