mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-25 11:38:44 +02:00
N°8017 - Security - dependabot - Symfony's VarDumper vulnerable to un… (#731)
Upgrade all Symfony components to last security fix (~6.4.0)
This commit is contained in:
@@ -17,6 +17,7 @@ use Twig\Environment;
|
||||
use Twig\Extension\EscaperExtension;
|
||||
use Twig\Extension\ProfilerExtension;
|
||||
use Twig\Profiler\Profile;
|
||||
use Twig\Runtime\EscaperRuntime;
|
||||
use Twig\TwigFunction;
|
||||
|
||||
/**
|
||||
@@ -37,7 +38,7 @@ class WebProfilerExtension extends ProfilerExtension
|
||||
|
||||
private int $stackLevel = 0;
|
||||
|
||||
public function __construct(HtmlDumper $dumper = null)
|
||||
public function __construct(?HtmlDumper $dumper = null)
|
||||
{
|
||||
$this->dumper = $dumper ?? new HtmlDumper();
|
||||
$this->dumper->setOutput($this->output = fopen('php://memory', 'r+'));
|
||||
@@ -77,7 +78,7 @@ class WebProfilerExtension extends ProfilerExtension
|
||||
return str_replace("\n</pre", '</pre', rtrim($dump));
|
||||
}
|
||||
|
||||
public function dumpLog(Environment $env, string $message, Data $context = null): string
|
||||
public function dumpLog(Environment $env, string $message, ?Data $context = null): string
|
||||
{
|
||||
$message = self::escape($env, $message);
|
||||
$message = preg_replace('/"(.*?)"/', '"<b>$1</b>"', $message);
|
||||
@@ -108,6 +109,12 @@ class WebProfilerExtension extends ProfilerExtension
|
||||
|
||||
private static function escape(Environment $env, string $s): string
|
||||
{
|
||||
// Twig 3.10 and above
|
||||
if (class_exists(EscaperRuntime::class)) {
|
||||
return $env->getRuntime(EscaperRuntime::class)->escape($s);
|
||||
}
|
||||
|
||||
// Twig 3.9
|
||||
if (method_exists(EscaperExtension::class, 'escape')) {
|
||||
return EscaperExtension::escape($env, $s);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user