Submit #1013200: diem-project diem 116974edfb9a5b8bd69cb13586dc62bcdbb485ad Absolute Path Traversalinfo

Titlediem-project diem 116974edfb9a5b8bd69cb13586dc62bcdbb485ad Absolute Path Traversal
DescriptionThe code editors in `dmFrontPlugin/modules/dmCodeEditor` and `dmAdminPlugin/lib/codeEditor` construct filesystem paths from attacker-controlled values without resolving `..` components. `dmOs::join()` removes duplicate slashes only, while `dmProject::isInProject()` uses a raw string-prefix test. Consequently, values such as `../../etc/hosts` produce a path that begins textually with the project root but resolves outside it when passed to `file_get_contents()` or `file_put_contents()`. A user with the `code_editor` credential can read files readable by the PHP account and overwrite existing files writable by that account outside the intended project directory.
Source⚠️ https://github.com/diem-project/diem/issues/451
User 100001001X (UID 100909)
Submission10/04/2026 17:31 (15 days ago)
Moderation10/19/2026 07:14 (15 days later)
StatusAccepted
VulDB entry422243 [diem-project diem up to 5.1.3 dmCodeEditor actions.class.php dmOs::join path traversal]
Points20

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!