Pull to refresh

Массовая уязвимость в проектах на Ruby

Reading time1 min
Views2.6K
Опубликовано сообщение о массовой уязвимости в проектах на Ruby. Речь идёт об использовании ^ в начале строки и $ в конце строки регулярных выражений вместо \A и \z.

Дело в том, что ^ и $ в таких случаях воспринимается Ruby как новые строки (\n), что открывает двери для инъекций.



Хотя официальное руководство по безопасности Ruby on Rails предупреждает об этой опасности, но всё равно подобная небрежность встречается в 90% проектов на Ruby, в доказательство чего приводятся примеры на Github, Scribd, Tumblr и других сервисах.

Как и в прошлый раз c Rails, здесь можно спорить, баг это или «ожидаемое поведение» системы. Но если большинство разработчиков делают ошибку из-за такой «особенности», так почему бы не исправить правила обработки строк в Ruby?
Tags:
Hubs:
Total votes 86: ↑58 and ↓28+30
Comments65

Articles