Российский разработчик Егор Хомяков сообщил об ещё одной массовой уязвимости в проектах на Ruby. Речь идёт об использовании ^
в начале строки и $
в конце строки регулярных выражений вместо A
и z
.
Дело в том, что ^
и $
в таких случаях воспринимается Ruby как новые строки (n
), что открывает двери для инъекций.
Хотя официальное руководство по безопасности Ruby on Rails предупреждает об этой опасности, но всё равно подобная небрежность встречается в 90% проектов на Ruby, утверждает Егор, и приводит примеры на Github, Scribd, Tumblr и других сервисах.
Как и в прошлый раз c Rails, здесь можно спорить, баг это или «ожидаемое поведение» системы. Но если большинство разработчиков делают ошибку из-за такой «особенности», так почему бы не исправить правила обработки строк в Ruby?
Автор: alizar