N°9379 - PHP unserialze function - security hardening

- code review
This commit is contained in:
Benjamin DALSASS
2026-04-13 08:08:52 +02:00
parent 43121a5a4b
commit 3debf2e11a

View File

@@ -1548,6 +1548,12 @@ class ShortcutMenuNode extends MenuNode
$sContext = $this->oShortcut->Get('context');
try {
$aContext = utils::Unserialize($sContext, ['allowed_classes' => false]);
if (isset($aContext['menu'])) {
unset($aContext['menu']);
}
foreach ($aContext as $sArgName => $sArgValue) {
$aExtraParams[$sArgName] = $sArgValue;
}
} catch (Exception $e) {
IssueLog::Warning("User shortcut corrupted, delete the shortcut", LogChannels::CONSOLE, [
'shortcut_name' => $this->oShortcut->GetName(),
@@ -1556,12 +1562,6 @@ class ShortcutMenuNode extends MenuNode
// delete the shortcut
$this->oShortcut->DBDelete();
}
if (isset($aContext['menu'])) {
unset($aContext['menu']);
}
foreach ($aContext as $sArgName => $sArgValue) {
$aExtraParams[$sArgName] = $sArgValue;
}
return parent::GetHyperlink($aExtraParams);
}