DOKIMASecurity review report

Overview

High Issues

Generated 2026-07-29 07:54:36 UTC

IssueRepositoryComponentConfidence
high Fully Valid
File-event hooks substitute attacker-controlled filenames into command strings before shell parsing, enabling low-privilege command injection that bypasses Perm.Execute
DOK-100044-FILEBROWSER-COMMAND-EXECUTION-FILE-EVENT-HOOK-CO

When file-event hooks are turned on, the server pastes the name of the file a user just uploaded, renamed, or deleted directly into a command that runs on the server. A user who simply names their file with shell tricks can make the server run their own commands, even without permission to run commands.

filebrowsercommand-executionhigh
high Fully Valid
Lossy username normalization for home-directory derivation lets a distinct signup account share a victim's home directory
DOK-100046-FILEBROWSER-SETTINGS-CONFIG-DISTINCT-USER-ACCO

Usernames are stored exactly as typed, but the folder for each user is named after a cleaned-up version of the username. Two different usernames can clean to the same folder name, so someone can register a look-alike name and end up sharing another person's private files.

filebrowsersettings-confighigh
high Possibly Valid
afero BasePathFs confines by textual prefix only and follows symlinks, so an in-scope symlink escapes the user root on read and write
DOK-100020-FILEBROWSER-FILESYSTEM-PATH-RE-SYMLINK-FOLLOWING

Each user is meant to stay inside their own folder, but the confinement check only compares text, it does not resolve symbolic links. If a shortcut pointing outside the folder exists inside a user's area, the user can read or overwrite files anywhere the server can reach — including the app's database.

filebrowserfilesystem-path-resolutionmedium
high Possibly Valid
Shipped default scope "." resolves to server root, granting self-registered accounts whole-tree read/write/delete
DOK-100099-FILEBROWSER-SETTINGS-CONFIG-ENABLING-SIGNUP-WI

With the built-in default settings, anyone who signs up for an account is placed at the very top of the server's file tree instead of a private folder of their own. That gives every self-registered user permission to read, change, and delete all served files.

filebrowsersettings-configmedium
high Possibly Valid
Recursive out-of-scope deletion via symlinked path components in the delete/move sinks
DOK-100133-FILEBROWSER-FILESYSTEM-PATH-RE-OUT-OF-SCOPE-RECUR

When a user deletes a file or folder, the app trusts the path text but does not check whether any folder along the way is a shortcut that points outside the user's allowed area. If such a shortcut exists, the delete can wipe out unrelated files elsewhere on the server, including the app's own login database.

filebrowserfilesystem-path-resolutionmedium
high Possibly Valid
Out-of-scope file read/exfiltration via symlinked path components in the rename/move sink
DOK-100134-FILEBROWSER-FILESYSTEM-PATH-RE-OUT-OF-SCOPE-RENAM

When a user renames or moves a file, the app checks the path as plain text but doesn't verify that folders along the way are real folders rather than shortcuts pointing elsewhere. An attacker can use such a shortcut to pull a file from outside their allowed area into it and then download it, or push their files out.

filebrowserfilesystem-path-resolutionmedium