Dragonfly's directories created via os.MkdirAll are not checked for permissions
Low severity
GitHub Reviewed
Published
Sep 17, 2025
in
dragonflyoss/dragonfly
•
Updated Sep 18, 2025
Description
Published to the GitHub Advisory Database
Sep 17, 2025
Reviewed
Sep 17, 2025
Published by the National Vulnerability Database
Sep 17, 2025
Last updated
Sep 18, 2025
Impact
DragonFly2 uses the os.MkdirAll function to create certain directory paths with specific access permissions. This function does not perform any permission checks when a given directory path already exists. This allows a local attacker to create a directory to be used later by DragonFly2 with broad permissions before DragonFly2 does so, potentially allowing the attacker to tamper with the files.
Eve has unprivileged access to the machine where Alice uses DragonFly2. Eve watches the commands executed by Alice and introduces new directories/paths with 0777 permissions before DragonFly2 does so. Eve can then delete and forge files in that directory to change the results of further commands executed by Alice.
Patches
Workarounds
There are no effective workarounds, beyond upgrading.
References
A third party security audit was performed by Trail of Bits, you can see the full report.
If you have any questions or comments about this advisory, please email us at [email protected].
References