Résumé
Craft CMS: Missing authorization check allows non-admin control panel users access to user registration metrics
Détails de l’avis
ChartsController::actionGetNewUsersData() at /actions/charts/get-new-users-data is missing a requirePermission('viewUsers') authorization check. Any authenticated control panel user, regardless of permissions beyond accessCp, can POST to this endpoint to receive time-series user registration counts for the entire site or for an arbitrary user group ID.
The viewUsers permission is consistently required throughout the control panel before exposing user-related data, but this action enforces only the base accessCp check inherited from the framework.
Each call returns the total count of users who joined the specified group in the requested period.
Impact
Any control panel user with only accessCp permission can obtain the total number of registered users and their registration date distribution across any time window.
In installations with multiple editor roles, this allows a low-privilege control panel user to infer user group sizes and registration trends that would normally require the viewUsers permission to access.
No user PII (name, email, password) is disclosed; only aggregate counts and timestamps are returned. Confidentiality impact is low. No integrity or availability impact.
Références
- https://github.com/advisories/GHSA-rvmm-v933-jgxq
- https://github.com/craftcms/cms/security/advisories/GHSA-rvmm-v933-jgxq
- https://github.com/craftcms/cms/commit/9ee53efc1314e6aba32771c66a13e072a246f4ce
- https://github.com/craftcms/cms/releases/tag/4.18.1
- https://github.com/craftcms/cms/releases/tag/5.10.3
Vulnérabilités liées
Tout Supply chain →- CRITICALCVE-2026-73842
OpenChoreo: cluster-gateway internal proxy performs no caller authentication and is not read-only — data-plane Secret disclosure and arbitrary Kubernetes mutation
- HIGHCVE-2026-72795
SiYuan: Embedded (transclusion) block content is returned without publish-access filtering, leaking private and password-protected document content to anonymous readers
- MEDIUMCVE-2026-72796
SiYuan: Static-file routes bypass the publish-access controls enforced on the REST API, exposing templates, snippets and export artifacts to anonymous readers
- MEDIUMCVE-2026-72797
SiYuan: getEncryptedNotebookStatus discloses names and current lock/unlock state of all encrypted notebooks to anonymous readers
- HIGHCVE-2026-72798
SiYuan: Publish-access filter on renderAttributeView leaves related-database content unfiltered and fails open on non-block first columns
- MEDIUMCVE-2026-72799
SiYuan: Missing publish-access filter on the HPath/path-resolution endpoints discloses the private document tree to anonymous readers