間違いだらけの備忘録

このページの内容は無保証でありこのページの内容によって直接、または間接に損害を受けられたとしても私は責任を取りません。

UTF-8処理プログラムでの注意点

https://tools.ietf.org/html/rfc3629
http://www.akanko.net/marimo/data/rfc/rfc3629-jp.txt

UTF-8 の実装者は、どのようにそれらが不正なUTF-8文字列を扱うかというセキュリティ面を考慮する必要がある。
(中略)
攻撃者が、UTF-8構文により許されないオクテット列をそれに送り、不注意なUTF-8パーザ(中略)に対して実行され得る。
(中略)
別のセキュリティ問題は、UTF-8に符号化する際に起こる: UTF-8のISO/IEC
10646定義により、文字番号最大U+7FFFFFFFを符号化すると、最大で6バイト のシーケンスが作られる。従って、もし文字数の範囲がU+10FFFFに明示的に制限されないか、または、バッファサイズ制限により5あるいは6バイトシー ケンスの可能性が考慮されないならば、バッファオーバフローのリスクがある。
(中略)
文字列一致調査、索引、検索、分類、正規表現との
一致調査、および選択に関係する時には、いつでも「同じもの」のための複数の文字列の存在が、セキュリティ問題を持っている。

めも

このページにはhatena以外のサービスからのコンテンツが埋め込まれています。 hatenaによりGoogle AdSense 広告が埋め込まれています。