Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-reachable unauthenticated endpoint (AV:N/PR:N) with low confidentiality impact confined to username and public-scoped images; no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Chevereto is a self-hosted media-sharing platform. Starting in version 3.7.5 and prior to version 4.5.4, when a user enables the private profile option, visiting their profile HTML route (/username) correctly returns 404. However, the /json AJAX listing endpoint does not apply the same check. An unauthenticated caller who knows the target's user ID can retrieve all of that user's publicly-scoped images, revealing the username (which should be private). This is patched in Chevereto v4.5.4. No known workarounds are available.
AnalysisAI
Chevereto's /json AJAX listing endpoint fails to enforce the private profile access control that the HTML profile route correctly applies, exposing user images and usernames to unauthenticated callers. Versions 3.7.5 through 4.5.3 are affected across both the commercial Chevereto product and the Chevereto Free (rodber/chevereto-free) variant. An unauthenticated attacker who knows a target's numeric user ID can bypass the privacy setting to retrieve all publicly-scoped media and recover the username the victim explicitly chose to hide. No public exploit is identified at time of analysis, and this vulnerability is not listed in CISA KEV.
Technical ContextAI
Chevereto is a PHP-based, self-hosted image and media hosting platform (CPE: cpe:2.3:a:chevereto:chevereto). The flaw is rooted in CWE-862 (Missing Authorization) - the application correctly enforces access control on the HTML profile route (/username, returning 404 for private profiles) but neglects to apply equivalent authorization logic to the /json AJAX listing endpoint used by the frontend to retrieve image galleries. This inconsistency between the presentation layer and the data API layer is a classic broken object-level authorization pattern: the UI enforces the privacy constraint, but the underlying data endpoint does not, leaving it directly queryable. Both the commercial edition and the free community fork (cpe:2.3:a:chevereto:rodber/chevereto-free) are affected per CPE data, and the vulnerability was introduced in v3.7.5 when the private profile feature was added.
RemediationAI
Upgrade to Chevereto v4.5.4, which patches the missing authorization check on the /json AJAX listing endpoint to match the access control already applied to the HTML profile route, as confirmed by the GitHub Security Advisory GHSA-h4jp-mxfx-g8xp and the vendor announcement at https://chevereto.com/community/threads/chevereto-v4-5-4-announcement.16398/post-80153. The vendor states no known workarounds are available. Operators who cannot immediately upgrade may consider adding a web server-level rule (nginx location block or Apache RewriteRule) to deny or authenticate requests matching the pattern /<username>/json for all users, though this will also break legitimate AJAX gallery loading for all visitors - a significant UX trade-off. Rate-limiting enumeration of user ID parameters at the WAF layer can reduce the risk of bulk scraping but does not eliminate the underlying authorization gap.
Chevereto before 3.17.1 allows Cross Site Scripting (XSS) via an image title at the image upload stage. Rated medium sev
Directory traversal vulnerability in Upload/engine.php in Chevereto 1.9.1 allows remote attackers to determine the exist
Chevereto Free before 1.0.13 has XSS. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable, low
Cross-site scripting (XSS) vulnerability in Upload/engine.php in Chevereto 1.91 allows remote attackers to inject arbitr
Stored XSS vulnerabilities in chevereto CMS before version 3.8.11, one in the user profile and one in the Exif data pars
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42085