fix(security): escape the project name in the analytic modal title

LayoutHelper::analytic() prefixes the title with the raw project name, and
the AJAX branch of analytic/layout.php printed that title as is, so a
project name containing markup was injected into the analytic modals.

Escape it with $this->text->e() like the other layouts do. It does not
double-encode, so the ">" separator still renders as ">".
This commit is contained in:
dualfroz committed 2026-10-03 15:58:07 +02:00
1 parent 392b2d737b
commit bb891e182e
2 files changed
+24 -1

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
<?php if ($is_ajax): ?>
<div class="page-header">
<h2><?= $title ?></h2>
<h2><?= $this->text->e($title) ?></h2>
</div>
<?php else: ?>
<?= $this->projectHeader->render($project, 'TaskListController', 'show') ?>