概要
Notion由来の文字列をCSV/TSV cellへそのまま出力しています。先頭が =, +, -, @ 等の文字列を表計算ソフトで開くと、formulaとして評価される場合があります。
Severity: Low-Medium
分類: CWE-1236 / OWASP A03
該当箇所
src/output/csv_out.rs:47-58
src/output/csv_out.rs:68-75
CSV libraryによるquoteはfield構造を保護しますが、表計算ソフト側のformula評価は止めません。
影響
利用者が生成CSVをExcelやLibreOffice等で開いた際、外部通信、データ送信、表示偽装が起きる可能性があります。影響は表計算ソフトと設定に依存します。
修正案
- stringの先頭(leading whitespace/tab後を含む)が危険文字ならapostrophe等でneutralizeする
- machine-readableな生値が必要なら、unsafe formulaを明示的opt-inにする
- CSVとTSV双方へ回帰テストを追加する
完了条件
- 危険な先頭文字を持つNotion値がformulaとして評価されない
- 通常文字列・数値・JSON値の出力契約が保たれる
- CSV/TSV双方にテストがある
概要
Notion由来の文字列をCSV/TSV cellへそのまま出力しています。先頭が
=,+,-,@等の文字列を表計算ソフトで開くと、formulaとして評価される場合があります。Severity: Low-Medium
分類: CWE-1236 / OWASP A03
該当箇所
src/output/csv_out.rs:47-58src/output/csv_out.rs:68-75CSV libraryによるquoteはfield構造を保護しますが、表計算ソフト側のformula評価は止めません。
影響
利用者が生成CSVをExcelやLibreOffice等で開いた際、外部通信、データ送信、表示偽装が起きる可能性があります。影響は表計算ソフトと設定に依存します。
修正案
完了条件