Open siglite opened 5 years ago
エスケープシーケンス \s
が HT/LF/FF/CR/Space を許容している。
:
が含まれていないため、メールヘッダーインジェクションは行えないが、意図せずメールヘッダーを破壊するかもしれない。
=?ISO-2022-JP?B?(snip)?=
のような文字列は MUA がデコードしてしまう ので(ASCIIの範囲だったとしても)そのまま送信できない。
$subject
が /=\?[\w_-]+\?[BQbq]\?[\w=+/]*\?=/
を含む場合は MIME ヘッダーエンコーディングを行って元の文字列を保護する必要がある。
現在は =
や ?
が含まれる場合は容赦なく MIME ヘッダーエンコーディングしているため、結果的に問題が回避されている。
与えられた文字列
$subject
が ASCII の範囲内であれば MIME エンコーディングをスキップする(ことを意図していると思われる)コードが存在する。しかし、
[^\w\s0-9\.]
は ASCII の範囲を正確に表していない。,
や;
などの記号類が抜け落ちている。おそらく[^\x20-\x7E]
が適切と思われる。