Skip to content

Asset directory traversal with some storage modules

High
NGPixel published GHSA-whpv-5xg2-w527 Oct 3, 2020

Package

No package listed

Affected versions

>=2.5.80 <2.5.151

Patched versions

2.5.151

Description

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:

  • Local File System
  • Git

Thanks to @daniellivingston for reporting this vulnerability.

Severity

High

CVE ID

CVE-2020-15236

Weaknesses

No CWEs

Credits