{"id":"CVE-2026-7886","state":"PUBLISHED","title":"Concrete CMS 9.5.0 and below is vulnerable to IDOR in AddMessage/UpdateMessage via attachments[] parameter","description":"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.","publishedAt":"2026-05-21T21:18:39.754Z","updatedAt":"2026-05-22T13:12:00.371Z","severity":{"score":2.3,"label":"Low","version":"4.0","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","source":"ConcreteCMS"},"assigner":"ConcreteCMS","products":["Concrete CMS Concrete CMS"],"affected":[{"vendor":"Concrete CMS","product":"Concrete CMS","defaultStatus":"unaffected","versions":[{"version":"5.0","status":"affected","lessThanOrEqual":"9.5.0","versionType":"git"}],"collectionURL":"https://github.com/concretecms/concretecms","repo":"https://github.com/concretecms/concretecms"}],"references":["https://documentation.concretecms.org/9-x/developers/introduction/version-history/951-release-notes"],"weaknesses":["CWE-639"],"ingestedAt":"2026-10-29T20:13:07.220Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/7xxx/CVE-2026-7886.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-7886","state":"PUBLISHED","datePublished":"2026-05-21T21:18:39.754Z","dateUpdated":"2026-05-22T13:12:00.371Z","assignerShortName":"ConcreteCMS","assignerOrgId":"ff5b8ace-8b95-4078-9743-eac1ca5451de","dateReserved":"2026-05-05T19:31:00.289Z"},"containers":{"cna":{"title":"Concrete CMS 9.5.0 and below is vulnerable to IDOR in AddMessage/UpdateMessage via attachments[] parameter","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"Concrete CMS","product":"Concrete CMS","defaultStatus":"unaffected","versions":[{"version":"5.0","status":"affected","lessThanOrEqual":"9.5.0","versionType":"git"}],"collectionURL":"https://github.com/concretecms/concretecms","repo":"https://github.com/concretecms/concretecms"}],"references":[{"url":"https://documentation.concretecms.org/9-x/developers/introduction/version-history/951-release-notes","tags":["release-notes"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"LOW","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"LOW","subIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"LOW","baseScore":2.3,"vectorString":"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"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-639","lang":"en","description":"CWE-639 Authorization bypass through User-Controlled key","type":"CWE"}]}],"providerMetadata":{"shortName":"ConcreteCMS","orgId":"ff5b8ace-8b95-4078-9743-eac1ca5451de","dateUpdated":"2026-05-21T21:18:39.754Z"},"impacts":[{"capecId":"CAPEC-1","descriptions":[{"lang":"en","value":"CAPEC-1 Accessing Functionality Not Properly Constrained by ACLs"}]}],"credits":[{"lang":"en","value":"Tristan Mandani","type":"finder"}],"source":{"defect":["HackerOne"],"advisory":"https://hackerone.com/reports/3626635","discovery":"EXTERNAL"},"x_generator":{"engine":"Vulnogram 1.0.2"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-05-22T13:11:53.038446Z","id":"CVE-2026-7886","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-05-22T13:12:00.371Z"}}]}}}