Commit 150a983
committed
[SECURITY] Fix path prefix confusion in isAllowedAbsPath
A path like `/var/www/html-other/file.yaml` was incorrectly
accepted as allowed when the project root was `/var/www/html`,
because the prefix check lacked a directory separator boundary.
This allowed references to files outside the project root whenever
an adjacent directory shared the project path as a string prefix.
Resolves: #109844
Releases: main, 14.3, 13.4
Change-Id: I6ee31150c95cb943305fc95e06b82710dab1ee71
Security-Bulletin: TYPO3-CORE-SA-2026-016
Security-References: CVE-2026-49738
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/94423
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>1 parent 17a3b78 commit 150a983
3 files changed
Lines changed: 58 additions & 2 deletions
File tree
- typo3/sysext/core
- Classes/Utility
- Tests
- Functional/Utility
- Unit/Utility
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2541 | 2541 | | |
2542 | 2542 | | |
2543 | 2543 | | |
| 2544 | + | |
2544 | 2545 | | |
2545 | 2546 | | |
2546 | | - | |
2547 | | - | |
| 2547 | + | |
| 2548 | + | |
2548 | 2549 | | |
2549 | 2550 | | |
2550 | 2551 | | |
| |||
Lines changed: 51 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
565 | 565 | | |
566 | 566 | | |
567 | 567 | | |
| 568 | + | |
568 | 569 | | |
| 570 | + | |
569 | 571 | | |
570 | 572 | | |
571 | 573 | | |
572 | 574 | | |
573 | 575 | | |
574 | 576 | | |
575 | 577 | | |
| 578 | + | |
576 | 579 | | |
| 580 | + | |
577 | 581 | | |
578 | 582 | | |
579 | 583 | | |
| |||
0 commit comments