Description
Cloudreve is a self-hosted file management and sharing system. Prior to 4.17.0, GET /api/v4/user/search calls SearchActive without adding a StatusActive predicate and serializes matches at RedactLevelUser, allowing any logged-in user to enumerate email addresses and profile metadata for inactive or banned accounts. The service calls userClient.SearchActive, but despite its name that method filters only by email/nickname keyword and never adds a StatusActive predicate — while the sibling lookups GetActiveByID and GetActiveByDavAccount, defined a few lines above it, do. Search hits are serialized at RedactLevelUser, which includes the email address. This issue is fixed in version 4.17.0.
Metrics
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:NWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| cloudreve | cloudreve | 4.17.0 |
References
- https://github.com/cloudreve/cloudreve/commit/7e1289d552794bdbeb551be78456115c87dcb3da
- https://github.com/cloudreve/cloudreve/releases/tag/4.17.0
- https://github.com/cloudreve/cloudreve/security/advisories/GHSA-8r7f-r8hj-r3rv
- https://github.com/cloudreve/cloudreve/security/advisories/GHSA-8r7f-r8hj-r3rv
Timeline
- Published
- Jul 31, 2026
- Last modified
- Sep 8, 2026
- NVD status
- Deferred