aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorGit'Fellow <12234510+solracsf@users.noreply.github.com>2024-09-04 22:24:19 +0200
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>2024-09-06 01:59:29 +0000
commit01596b54c039a7f1b57fe4198f9c18a73aa8a6da (patch)
tree3d959a404ba8b881e4e32bd1870423e1cae2d593 /lib
parent7ec40bfe3585c2b1a7f6b08fd7a2358c1c41cd0b (diff)
downloadnextcloud-server-01596b54c039a7f1b57fe4198f9c18a73aa8a6da.tar.gz
nextcloud-server-01596b54c039a7f1b57fe4198f9c18a73aa8a6da.zip
fix(files): Check if the target path is a descendant of the shared folder pathbackport/47756/stable29
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> fix: tests Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> fix: fix tests Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> fix: add tests Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> fix: tests
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Files/View.php3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php
index efe3bcf5abc..b6b136ab178 100644
--- a/lib/private/Files/View.php
+++ b/lib/private/Files/View.php
@@ -1829,7 +1829,8 @@ class View {
}, $providers));
foreach ($shares as $share) {
- if (str_starts_with($targetPath, $share->getNode()->getPath())) {
+ $sharedPath = $share->getNode()->getPath();
+ if ($targetPath === $sharedPath || str_starts_with($targetPath, $sharedPath . '/')) {
$this->logger->debug(
'It is not allowed to move one mount point into a shared folder',
['app' => 'files']);