Retour aux mises à jour
UpdatedSep 2, 2026

CVE-2026-8347 — Mis à jour !

CVE-2026-8347 est une vulnérabilité de référence directe à un objet (IDOR) combinée à un mauvais niveau d'autorisation dans les versions 9.5.0 et antérieures de Concrete CMS. Le défaut existe dans la boîte de dialogue de réorganisation des associations Express, permettant à un utilisateur disposant uniquement d'autorisations de visualisation sur une entrée Express de modifier l'ordre des associations pour une autre entité.

Partager

CVE-2026-8347 – Référence directe à un objet non sécurisée (IDOR) dans Concrete CMS

Vue d'ensemble

CVE-2026-8347 est une vulnérabilité de référence directe à un objet non sécurisée (IDOR) affectant Concrete CMS versions 9.5.0 et antérieures. Le problème existe dans la fonctionnalité Express Association Reorder en raison de contrôles d'autorisation insuffisants.

Lorsqu'un utilisateur réorganise des associations, l'application vérifie que l'utilisateur a la permission de voir l'entrée Express mais ne confirme pas si l'utilisateur est autorisé à la modifier. Par conséquent, un utilisateur authentifié disposant de privilèges limités peut manipuler l'identifiant d'une autre entité Express et réorganiser ses associations, même sans permissions de modification.

Contrairement aux vulnérabilités d'injection SQL ou d'exécution de code à distance, cette faille n'implique pas l'injection de commandes ou de code malveillant. Elle exploite plutôt un contrôle d'accès défaillant en modifiant un identifiant d'objet contrôlé par l'utilisateur (tel qu'un ID d'entité) pour référencer la ressource d'un autre utilisateur. Étant donné que le serveur ne valide pas correctement l'autorisation pour l'objet demandé, il exécute l'action sur des données que l'attaquant ne devrait pas pouvoir modifier.

Logique vulnérable conceptuelle :

// L'utilisateur demande à réorganiser des associations $entityId = $_POST['entityId'];

$entity = $entityRepository->find($entityId);

// Vérifie uniquement que l'utilisateur peut accéder à l'entité if ($permissionChecker->canView($entity)) {

// Réorganise les associations sans vérifier la permission de modification
$associationService->reorder($entity, $_POST['order']);

return response()->json([
    'status' => 'success'
]);

}

Pourquoi c'est vulnérable

L'application valide uniquement la permission de visualisation avant d'effectuer une opération de modification d'état.

Un attaquant peut modifier le paramètre entityId dans la requête pour référencer l'entité d'un autre utilisateur. Étant donné qu'aucun contrôle d'autorisation n'est effectué pour la modification elle-même, l'opération de réorganisation aboutit sur une ressource non autorisée.

Impact

Une attaque réussie peut permettre à un utilisateur authentifié de :

  • Modifier l'ordre des associations appartenant à une autre entité Express.
  • Effectuer des modifications non autorisées sur les données de l'application.
  • Compromettre l'intégrité des informations stockées.

La vulnérabilité affecte principalement l'intégrité des données et ne permet pas intrinsèquement l'injection SQL, l'exécution de code à distance ou le contournement de l'authentification.

Code corrigé (conceptuel)

L'application doit vérifier que l'utilisateur authentifié a la permission de modifier l'entité spécifique avant de traiter la demande de réorganisation.

$entityId = $_POST['entityId'];

$entity = $entityRepository->find($entityId);

// Vérifier la permission de modification if (!$permissionChecker->canEdit($entity)) {

return response()->json([
    'error' => 'Accès refusé.'
], 403);

}

// L'utilisateur est autorisé $associationService->reorder($entity, $_POST['order']);

return response()->json([ 'status' => 'success' ]);

Logiciel affecté

  • Produit : Concrete CMS
  • Versions affectées : 9.5.0 et antérieures
  • Version corrigée : 9.5.1

Atténuation

Mettez à niveau vers Concrete CMS 9.5.1 ou une version ultérieure. Les développeurs doivent appliquer des contrôles d'autorisation côté serveur rigoureux pour chaque demande de modification d'état et s'assurer que les utilisateurs ne peuvent modifier que les ressources qu'ils sont explicitement autorisés à éditer.

Catégories