Explicitely only accept closures from our dependencies in ClosureJob

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
Côme Chilliet
2022-06-21 11:33:46 +02:00
parent 3e94faef06
commit d8c419c304

View File

@@ -23,10 +23,13 @@
namespace OC\Command;
use OC\BackgroundJob\QueuedJob;
use Laravel\SerializableClosure\SerializableClosure as LaravelClosure;
use Opis\Closure\SerializableClosure as OpisClosure;
class ClosureJob extends QueuedJob {
protected function run($serializedCallable) {
$callable = unserialize($serializedCallable)->getClosure();
$callable = unserialize($serializedCallable, [LaravelClosure::class, OpisClosure::class]);
$callable = $callable->getClosure();
if (is_callable($callable)) {
$callable();
} else {