Skip to content

Commit 32d6192

Browse files
Merge commit from fork
Patch Stored XSS in Backup module by escaping filenames
2 parents c600f65 + 270d90e commit 32d6192

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

modules/Backup/Controllers/Backup.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public function index()
1616
$totalDisplayRecords = $totalRecords;
1717
helper('number');
1818
foreach ($results as $result) {
19+
$result->filename = esc($result->filename);
1920
$result->file_size = number_to_size($result->file_size, 2);
2021
$result->created_at = date('Y-m-d H:i:s', strtotime($result->created_at));
2122
$result->actions = '<a class="btn btn-primary btn-sm" href="' . route_to('backupDownload', $result->filename) . '"><i class="fas fa-download"></i></a>
@@ -72,9 +73,9 @@ public function delete(int $id)
7273
$infos = $this->commonModel->selectOne('db_backups', ['id' => $id]);
7374
if ($this->commonModel->remove('db_backups', ['id' => $id])) {
7475
@unlink(WRITEPATH . 'backups/' . $infos->filename);
75-
return $this->respond(['success' => true, 'message' => lang('Backend.deleted', [$infos->filename])]);
76+
return $this->respond(['success' => true, 'message' => lang('Backend.deleted', [esc($infos->filename)])]);
7677
}
77-
$this->respond(['success' => false, 'error' => lang('Backend.notDeleted', [$infos->filename])], 400);
78+
return $this->respond(['success' => false, 'error' => lang('Backend.notDeleted', [esc($infos->filename)])], 400);
7879
}
7980

8081
public function restore()

0 commit comments

Comments
 (0)