Кирилл Данилов (donz_ru) wrote,
Кирилл Данилов
donz_ru

В Java тоже можно cделать выполнение произвольного кода через переданные данные, хотя казалось бы


Разделяли память исполняемого кода от памяти данных, разделяли, чтобы негодяи в данных не могли код передать, но против любителей рефлексии не попрешь.

Долго и нудно тут:
https://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/

Если кратко, то в Apache Commons Collections есть уязвимость, позволяющая при десериализации объекта выполнить любой код, переданный в этом самом объекте. Проблема существует во всех версиях библиотеки, начиная с 3.0. Пофиксили только в 4.1.
Усугбляется это тем, что популярные сервера приложений готовы принять любой сериализованный объект и десериализовать его, прежде чем примут решение, нужен он вообще или не очень.

Для понимания масштаба проблемы: наверное проще перечислить те ява-проекты, где Apache Commons Collections не используются, чем где используются. И, как уже писал выше, все популярные сервера приложений готовы десериализовывать все, что угодно.
Интересно, Tomcat и Spring Boot тоже уязвимы?
Tags: it, java, безопасность, программирование
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 3 comments