CVE-2026-77633 PUBLISHED

Cloudreve: Storage-quota TOCTOU race allows quota bypass and storage-based denial of service

Assigner: GitHub_M
Reserved: 20.08.2026 Published: 22.09.2026 Updated: 22.09.2026

Cloudreve is a self-hosted file management and sharing system. Prior to 4.18.0, PrepareUpload in pkg/filemanager/fs/dbfs/upload.go checks a stale in-memory user storage value through validateUserCapacity and later applies an unconditional storage charge outside the same quota-enforcing transaction. An authenticated user with Files.Write permission can issue concurrent upload-session requests that read the same capacity snapshot, all pass the MaxStorage check, and reserve their declared sizes through CommitWithStorageDiff. The resulting reservations can exceed the account quota and can be materialized as chunked uploads that exhaust host storage and deny uploads to other users. The default local-storage policy and default User group are affected. This issue is fixed in version 4.18.0.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
CVSS Score: 7.1

Product Status

Vendor cloudreve
Product cloudreve
Versions
  • Version < 4.18.0 is affected

References

Problem Types

  • CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') CWE
  • CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition CWE
  • CWE-770: Allocation of Resources Without Limits or Throttling CWE