DOKIMASecurity review report

Overview

Dispositioned Issues

Issues excluded from active severity counts because they have an accepted disposition.

DispositionIssueSeverityRepositoryComponent
Unbounded in-memory materialization of recursive listing in resourceGetRecursiveHandler (availability)
DOK-100125-FILEBROWSER-RESOURCE-FILE-CRUD-UNBOUNDED-RECURSIV

A recursive directory listing loads every file entry in a subtree into memory at once and then makes a second full copy while turning it into JSON, with no limit on count or depth. A user with a large accessible tree can spike server memory and CPU, and repeat the call to exhaust resources.

medium Fully Validfilebrowserresource-file-crud
Public directory shares bypass owner-scope access Rules on shared descendants
DOK-100112-FILEBROWSER-SHARES-PUBLIC-ACCESS-RULES-BYPAS

When a user shares a folder with a public link, the access rules that normally block certain sub-folders or files stop being enforced. Anyone with the link can browse, download, or bulk-download items inside the shared folder that the owner had configured to be off-limits.

medium Possibly Validfilebrowsershares-public
Preview cache and per-key lock map grow without bound; mtime-keyed entries let an authenticated user exhaust disk and memory
DOK-100005-FILEBROWSER-PREVIEW-THUMBNAILS-UNBOUNDED-PREVIEW

When on-disk preview caching is turned on, generated thumbnails are never cleaned up and an internal lock table keeps growing. Because the cache key includes a file's modification time, a user can force endless new cache entries by re-uploading, slowly filling the disk and memory.

low Possibly Validfilebrowserpreview-thumbnails
False positiveHook auth forks an unbounded, timeout-less external subprocess per login on the public pre-auth endpoint (resource-exhaustion DoS)
DOK-100050-FILEBROWSER-AUTH-METHODS-HOOK-AUTH-FORKS-A

Developer triage: auth hook is disabled in our deployments and the login endpoint sits behind an external rate limiter; judged not applicable.

When login is handled by an external hook program, every single login attempt starts a new copy of that program before any password is checked, and there is no time limit on how long it may run. A flood of login requests can pile up processes and exhaust the server.

low Possibly Validfilebrowserauth-methods