Rubyプロジェクトの大規模な脆弱性

Rubyプロジェクトの大規模な脆弱性に関する投稿。 \A



\z



代わりに、正規表現の行の先頭に^



を使用し、行の末尾に$



を使用することについて話します。



実際のところ、そのような場合の^



および$



はRubyによって改行( \n



)として認識され、注入の扉が開かれます。







公式のRuby on Railsセキュリティガイドはこの危険性について警告していますが、Github、Scribd、Tumblr、およびその他のサービスの例からもわかるように、Rubyプロジェクトの90%で依然として発生しています。



前回のRailsの場合と同様、ここでは、これがシステムのバグなのか「予想される動作」なのかを議論することができます。 しかし、この「機能」のためにほとんどの開発者が間違いを犯した場合、Rubyの文字列処理ルールを修正してみませんか?



All Articles