7.5.3. 構造化フィールド値の構文解析 (Parsing Structured Field Values)
7.5.3. 構造化フィールド値の構文解析 (Parsing Structured Field Values)
本仕様のいくつかの部分は Structured Field 値 [STRUCTURED-FIELDS] の構文解析に依存する. 特に, HTTP Structured Field 値の厳密な直列化 (Section 2.1.1), Dictionary Structured Field のメンバ参照 (Section 2.1.2), および署名検証時の @signature-input 値の処理 (Section 3.2) である. Structured Field 値は比較的単純に構文解析できるよう設計されているが, そのような構文解析器の単純または誤った実装は, 実装において微妙な攻撃面を露出させうる.
たとえば, @signature-input 値の誤った構文解析器が, コンポーネント識別子のリスト内の文字列値を囲む引用符の適切な閉じを強制しない場合, 攻撃者はこれを悪用し, メッセージ上の Signature-Input フィールド値を操作することで署名ベースへ追加の内容を注入できる.
これに対処するため, 実装は署名者側と検証者側の双方で, すべての Structured Field 処理に対して完全に準拠し信頼できる構文解析器を用いるべきである.