что это за уязвимость?
Ошибка позволяет SQL-инъекцию посредством динамических методов поиска (например, find_by_foo (params [: foo])). Я немного объясню динамические искатели. Ошибка влияет на все версии Ruby on Rails.
Известный сценарий использования заключается в следующем: Используется Authlogic (сторонняя, но популярная библиотека проверки подлинности). Вы должны знать секретный токен сеанса.
Есть и другие сценарии, которые можно использовать, но это действительно зависит от того, что делает ваше приложение. Поскольку невозможно доказать, что что-то небезопасно, вы должны серьезно относиться к этой уязвимости и обновляться, даже если считаете, что вас это не затрагивает.
В чем заключается эта уязвимость?
Для тех, кто знает Rails:
Исправлена ошибка не влияет на нормальные методы поиска (например, найти (PARAMS [: идентификатор])). Ошибка не может быть использована с помощью параметров запроса. Ошибка не в Authlogic. Это в Rails. Так получилось, что Authlogic запускает его. Devise (другая сторонняя библиотека проверки подлинности) не вызывает ошибку. Дело «params», это совершенно другая и несвязанная проблема. Описанная здесь проблема довольно серьезная и заслуживает серьезного внимания, поэтому, пожалуйста, следите за любыми новыми рекомендациями.
подробнее см rails sql injection
я прошел через все возможные документации о инъекции SQL, но нет никакого способа, вы можете удалить таблицу в SQL инъекции. – suman