| Title | diem-project diem 116974edfb9a5b8bd69cb13586dc62bcdbb485ad Absolute Path Traversal |
|---|
| Description | The 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) |
|---|
| Submission | 10/04/2026 17:31 (15 days ago) |
|---|
| Moderation | 10/19/2026 07:14 (15 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 422243 [diem-project diem up to 5.1.3 dmCodeEditor actions.class.php dmOs::join path traversal] |
|---|
| Points | 20 |
|---|