信頼できないデータへの unserialize()
なぜ危険か
unserialize()は任意のオブジェクトを生成できるため、攻撃者は既存クラスを連結して(ガジェットチェーン)ファイル削除やコード実行を行えます。JSONは単純なデータしか作りません。
$prefs = unserialize($_COOKIE['prefs']);
$prefs = json_decode($_COOKIE['prefs'] ?? '{}', true) ?: [];
対策
json_decode() に置き換えましょう。必要なら ['allowed_classes' => false] を指定。
コードを検査する
コードを検査する →
ファイルを貼り付けると、このルールに該当する行をすべて示します。