Impact
Directory traversal outside of Wiki.js context is possible when a storage module with local asset cache fetching is enabled. A malicious user can potentially read any file on the file system by crafting a special URL that allows for directory traversal.
This is only possible when a storage module implementing local asset cache (e.g Local File System or Git) is enabled and that no web application firewall solution (e.g. cloudflare) strips potentially malicious URLs.
Patches
Commit 084dcd6 fixes this vulnerability by sanitizing the path before it is passed on to the storage module. The sanitization step removes any directory traversal (e.g. ..
and .
) sequences as well as invalid filesystem characters from the path.
Workarounds
Disable any storage module with local asset caching capabilities:
Thanks to @daniellivingston for reporting this vulnerability.
Impact
Directory traversal outside of Wiki.js context is possible when a storage module with local asset cache fetching is enabled. A malicious user can potentially read any file on the file system by crafting a special URL that allows for directory traversal.
This is only possible when a storage module implementing local asset cache (e.g Local File System or Git) is enabled and that no web application firewall solution (e.g. cloudflare) strips potentially malicious URLs.
Patches
Commit 084dcd6 fixes this vulnerability by sanitizing the path before it is passed on to the storage module. The sanitization step removes any directory traversal (e.g.
..
and.
) sequences as well as invalid filesystem characters from the path.Workarounds
Disable any storage module with local asset caching capabilities:
Thanks to @daniellivingston for reporting this vulnerability.