PHPのフレームワークCodeIgniterに脆弱性が発見された。
具体的には下記のようなセキュリティアドバイザリ。
https://github.com/codeigniter4/CodeIgniter4/security/advisories/GHSA-w6jr-wj64-mc9x
CodeIgniter4で次のような関数を使っている箇所が危険とされている模様。
- old()
- RedirectResponse::withInput()
- redirect()->withInput()
本質的にはこの関数内でつかっているunserialize()という関数に
外部からのデータが入ってくることで成立する脆弱性。
なのでもっと他にも同様の脆弱性があるのではないかと思う。
例えばarrayやobjectに対応していないKVSに値を格納するようなライブラリとか。
memcached.serializer の設定が”PHP”になっている場合同様の懸念がある。
こういったところも適切な使い方や設定になっているか今一度確認したいところ。
どうしてもunserialize()を使う場合はせめて第二引数をfalse [‘allowed_classes’=>false]にして使うのが次善の策かなと。