Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 730

マスアサインメント (Mass Assignment)

監修Cybersecurity entrepreneur & security researcher

マスアサインメント (Mass Assignment) とは何ですか?

マスアサインメント (Mass Assignment)アプリがクライアントから渡されたフィールドを無検証で内部オブジェクトのプロパティに紐付け、攻撃者が本来制御すべきでない属性を書き換えてしまう脆弱性。


マスアサインメントは、Rails、Spring、ASP.NET、NestJS、Django などのフレームワークが、明示的な許可リストなしに、受信した JSON やフォームフィールドをモデル属性へ自動マッピングする際に発生します。攻撃者は isAdmin、role、balance、tenantId などの追加プロパティを含めることで、サーバーがそれらを DB に書き込んでしまいます。割り当てが暗黙的なためコードレビューでは見落とされがちで、autobinding やオブジェクトインジェクションとも呼ばれます。対策には、明示的な DTO/入力スキーマ、バインド可能フィールドの厳格な許可リスト、内部専用属性と外部バインド可能モデルの分離、想定外のキーを送るセキュリティテストが有効です。

  1. 01

    /api/users に {"name":"Bob","isAdmin":true} を送って管理者に昇格する。

  2. 02

    POST で注文に隠し割引フィールドを付加し、価格ロジックを回避する。

よくある質問

マスアサインメント (Mass Assignment) とは何ですか?

アプリがクライアントから渡されたフィールドを無検証で内部オブジェクトのプロパティに紐付け、攻撃者が本来制御すべきでない属性を書き換えてしまう脆弱性。 サイバーセキュリティの 脆弱性 カテゴリに属します。

マスアサインメント (Mass Assignment) とはどういう意味ですか?

アプリがクライアントから渡されたフィールドを無検証で内部オブジェクトのプロパティに紐付け、攻撃者が本来制御すべきでない属性を書き換えてしまう脆弱性。

マスアサインメント (Mass Assignment) からどのように防御しますか?

マスアサインメント (Mass Assignment) に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

マスアサインメント (Mass Assignment) の別名は何ですか?

一般的な別名: オートバインディング脆弱性, オブジェクトインジェクション。

関連用語

関連項目