summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Ng <chrng8@gmail.com>2022-05-31 19:31:52 +0000
committerbackportbot-nextcloud[bot] <backportbot-nextcloud[bot]@users.noreply.github.com>2022-06-09 16:04:34 +0000
commitbb7b115b629b2f48faa3e0e7e444659920af53d9 (patch)
tree2aa4a86b85258902c9370e0ad3ea5c41bff66592
parent9cc8bba6637a5f0176a70ac4abb4cfff7e3551a8 (diff)
downloadnextcloud-server-bb7b115b629b2f48faa3e0e7e444659920af53d9.tar.gz
nextcloud-server-bb7b115b629b2f48faa3e0e7e444659920af53d9.zip
Validate custom dashboard background image
Signed-off-by: Christopher Ng <chrng8@gmail.com>
-rw-r--r--apps/dashboard/lib/Service/BackgroundService.php4
1 files changed, 4 insertions, 0 deletions
diff --git a/apps/dashboard/lib/Service/BackgroundService.php b/apps/dashboard/lib/Service/BackgroundService.php
index f9bd987bdca..0619fd8d304 100644
--- a/apps/dashboard/lib/Service/BackgroundService.php
+++ b/apps/dashboard/lib/Service/BackgroundService.php
@@ -149,6 +149,10 @@ class BackgroundService {
$userFolder = $this->rootFolder->getUserFolder($this->userId);
/** @var File $file */
$file = $userFolder->get($path);
+ $image = new \OCP\Image();
+ if ($image->loadFromFileHandle($file->fopen('r')) === false) {
+ throw new InvalidArgumentException('Invalid image file');
+ }
$this->getAppDataFolder()->newFile('background.jpg', $file->fopen('r'));
}