Commit 44c2fa9
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/+/94425
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>1 parent bfe7c35 commit 44c2fa9
4 files changed
Lines changed: 58 additions & 2 deletions
File tree
- typo3/sysext
- core
- Classes/Utility
- Tests
- Functional/Utility
- Unit/Utility
- scheduler/Tests/Functional/Controller
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2071 | 2071 | | |
2072 | 2072 | | |
2073 | 2073 | | |
| 2074 | + | |
2074 | 2075 | | |
2075 | 2076 | | |
2076 | | - | |
| 2077 | + | |
2077 | 2078 | | |
2078 | 2079 | | |
2079 | 2080 | | |
| |||
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 | |
|---|---|---|---|
| |||
516 | 516 | | |
517 | 517 | | |
518 | 518 | | |
| 519 | + | |
519 | 520 | | |
| 521 | + | |
520 | 522 | | |
521 | 523 | | |
522 | 524 | | |
523 | 525 | | |
524 | 526 | | |
525 | 527 | | |
526 | 528 | | |
| 529 | + | |
527 | 530 | | |
| 531 | + | |
528 | 532 | | |
529 | 533 | | |
530 | 534 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
176 | | - | |
| 176 | + | |
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
| |||
0 commit comments