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

Analyse technique du VLAN Hopping : Switch Spoofing et Double Tagging

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

🔍 DIRB – Exploration de Répertoires Web