Comment fonctionne un IDOR ?
L'application utilise un identifiant prévisible (numéro séquentiel, UUID devinable) pour accéder aux ressources sans vérifier que l'utilisateur connecté a le droit d'y accéder. Exemple : changer /api/factures/1234 en /api/factures/1235 pour accéder à la facture d'un autre client.
Pourquoi les IDOR sont dangereux ?
Les IDOR ne sont pas détectés par les scanners automatisés car ils relèvent de la logique métier. Seul un pentest manuel peut les identifier. L'impact va de la fuite de données personnelles à la modification de comptes, la suppression de ressources ou l'escalade de privilèges.
Comment prévenir les IDOR ?
- Vérifier systématiquement les permissions côté serveur avant chaque accès à une ressource.
- Utiliser des identifiants non prédictibles (UUID v4).
- Implémenter un contrôle d'accès centralisé (RBAC/ABAC).
- Tester les IDOR dans chaque pentest applicatif.
Exemple concret : IDOR sur une API REST SaaS
Une PME SaaS B2B expose une API pour que chaque client consulte ses factures :
GET /api/v1/invoices/7842
Authorization: Bearer eyJhbGc...
200 OK
{ "id": 7842, "customer_id": 42, "amount": 1250, "pdf_url": "..." }Le back-end vérifie que le token JWT est valide, mais ne vérifie pas que la facture 7842 appartient bien au client authentifié. Un attaquant énumère simplement les IDs de 1 à 10 000 et récupère toutes les factures de tous les clients : nom, SIREN, CA, coordonnées bancaires.
Score CVSS v3.1 : 6.5 (Medium) en lecture seule, 8.1 (High) si l'IDOR permet aussi la modification (DELETE, PUT). Le correctif en 3 lignes : WHERE customer_id = :current_user_tenant_id dans la requête SQL.
Recevoir la checklist OWASP Top 10 (PDF imprimable)
Les 10 risques 2021 traduits en contrôles de remédiation à cocher pour vos équipes dev et sécurité. Indiquez votre email professionnel pour y accéder immédiatement.
FAQ IDOR
Pourquoi les IDOR échappent aux scanners automatisés ?
Parce qu'un scanner ne sait pas qu'un utilisateur A ne doit pas accéder aux données de B. C'est une vulnérabilité de logique métier : techniquement l'application répond 200 OK, aucun signal anormal. Seul un pentest manuel avec deux comptes de test (horizontal privilege testing) détecte un IDOR.
Les UUID protègent-ils des IDOR ?
Partiellement. Un UUID v4 rend l'énumération aléatoire impossible, mais un IDOR reste exploitable dès qu'un UUID fuite (URL partagée, logs, références croises). L'UUID est une défense en profondeur, pas un contrôle d'accès.
Un IDOR impacte-t-il ma conformité RGPD ?
Oui, directement. Un IDOR qui expose des données personnelles constitue une violation de données au sens RGPD Art. 33 (notification CNIL sous 72 h obligatoire). Amendes : jusqu'à 4 % du CA mondial. L'IDOR Axa 2023 (clients de l'assurance auto) a déclenché une enquête CNIL.
Les IDOR sont-ils classés dans OWASP Top 10 ?
Oui, catégorie A01:2021 Broken Access Control, qui est devenue la #1 en 2021 (94 % des applications testées en contenaient au moins une). L'OWASP API Security Top 10 les classe aussi en API1:2023 BOLA (Broken Object Level Authorization). Voir notre article OWASP API Security Top 10.