CVE-2026-7886

Concrete CMS 9.5.0 and below is vulnerable to IDOR in AddMessage/UpdateMessage via attachments[] parameter which can lead to file permission bypass. The `AddMessage` and `UpdateMessage` conversation controllers accept user-supplied file attachment IDs and load files directly via `$em->find(File::class, $attachmentID)` without checking per-file permissions (`canViewFile()`). A user who can post in any conversation can reference any file in the CMS file manager by its sequential ID, effectively bypassing the file permission system.  The Concrete CMS security team gave this vulnerability a CVSS v.4.0 score of 2.3 with a vector CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N. Thanks Tristan Mandani for reporting. if a site truly has private files, the owner should set up a private storage location https://documentation.concretecms.org/user-guide/editors-reference/dashboard/system-and-maintenance/files/file-storage-locations outside of the webroot so that permissions can be checked on view as well. That way, even if a authorized user attaches a file, or otherwise links to it, unauthorized users won't be able to view the file.
Configurations

Configuration 1 (hide)

cpe:2.3:a:concretecms:concrete_cms:*:*:*:*:*:*:*:*

History

23 Jul 2026, 11:10

Type Values Removed Values Added
Summary
  • (es) Concrete CMS 9.5.0 y versiones anteriores es vulnerable a IDOR en AddMessage/UpdateMessage a través del parámetro attachments[], lo que puede llevar a una omisión de permisos de archivo. Los controladores de conversación 'AddMessage' y 'UpdateMessage' aceptan IDs de archivos adjuntos proporcionados por el usuario y cargan archivos directamente a través de '$em->find(File::class, $attachmentID)' sin verificar los permisos por archivo ('canViewFile()'). Un usuario que puede publicar en cualquier conversación puede hacer referencia a cualquier archivo en el gestor de archivos del CMS por su ID secuencial, eludiendo eficazmente el sistema de permisos de archivos. El equipo de seguridad de Concrete CMS otorgó a esta vulnerabilidad una puntuación CVSS v.4.0 de 2.3 con un vector CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N. Gracias a Tristan Mandani por el informe. Si un sitio realmente tiene archivos privados, el propietario debería configurar una ubicación de almacenamiento privada https://documentation.concretecms.org/user-guide/editors-reference/dashboard/system-and-maintenance/files/file-storage-locations fuera del directorio raíz web para que los permisos también puedan verificarse al visualizar. De esa manera, incluso si un usuario autorizado adjunta un archivo, o lo enlaza de otra forma, los usuarios no autorizados no podrán ver el archivo.

22 May 2026, 19:19

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 4.3
CPE cpe:2.3:a:concretecms:concrete_cms:*:*:*:*:*:*:*:*
First Time Concretecms concrete Cms
Concretecms
References () https://documentation.concretecms.org/9-x/developers/introduction/version-history/951-release-notes - () https://documentation.concretecms.org/9-x/developers/introduction/version-history/951-release-notes - Release Notes

21 May 2026, 22:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-05-21 22:16

Updated : 2026-07-23 11:10


NVD link : CVE-2026-7886

Mitre link : CVE-2026-7886

CVE.ORG link : CVE-2026-7886


JSON object : View

Products Affected

concretecms

  • concrete_cms
CWE
CWE-639

Authorization Bypass Through User-Controlled Key