マスアサインメント
フレームワークがリクエスト本文をそのままオブジェクトに代入してしまい、ユーザーが設定すべきでない項目まで書き換えられる脆弱性。
典型例は、Rails、Django、Sequelizeなどに { "name": "Bob", "is_admin": true } をPOSTして権限昇格する手口だ。対策は、許可する項目を明示的に列挙すること(strong paramsやDTO)。2012年のGitHubへの侵入も、このマスアサインメントが原因だった。
フレームワークがリクエスト本文をそのままオブジェクトに代入してしまい、ユーザーが設定すべきでない項目まで書き換えられる脆弱性。
典型例は、Rails、Django、Sequelizeなどに { "name": "Bob", "is_admin": true } をPOSTして権限昇格する手口だ。対策は、許可する項目を明示的に列挙すること(strong paramsやDTO)。2012年のGitHubへの侵入も、このマスアサインメントが原因だった。