\A
と
\z
代わりに、正規表現の行の先頭に
^
を使用し、行の末尾に
$
を使用することについて話します。
実際のところ、そのような場合の
^
および
$
はRubyによって改行(
\n
)として認識され、注入の扉が開かれます。

公式のRuby on Railsセキュリティガイドはこの危険性について警告していますが、Github、Scribd、Tumblr、およびその他のサービスの例からもわかるように、Rubyプロジェクトの90%で依然として発生しています。
前回のRailsの場合と同様、ここでは、これがシステムのバグなのか「予想される動作」なのかを議論することができます。 しかし、この「機能」のためにほとんどの開発者が間違いを犯した場合、Rubyの文字列処理ルールを修正してみませんか?