Уязвимость в Apache Fory (CVE-2026-48207)
Введение
В библиотеке Apache Fory обнаружена критическая уязвимость CVE-2026-48207, связанная с небезопасной обработкой сериализованных данных в модуле PyFory.
Проблема позволяет обходить механизм DeserializationPolicy, предназначенный для ограничения опасных классов, функций и атрибутов модулей при десериализации пользовательских данных.
Что произошло
Уязвимость связана с компонентом:
ReduceSerializer
который используется во время восстановления объектов Python после десериализации.
Исследователи выяснили, что в определённых сценариях ReduceSerializer способен обходить проверки:
DeserializationPolicy
во время:
- восстановления состояния объектов;
- обработки reduce-state;
- разрешения global-name ссылок.
В результате атакующий может использовать специально сформированные сериализованные данные для обхода ограничений безопасности приложения.
Особенности эксплуатации
Уязвимость затрагивает приложения, которые одновременно:
- используют PyFory Python-native mode;
- отключили strict mode;
- обрабатывают данные от недоверенных источников;
- полагаются на
DeserializationPolicyдля блокировки опасных объектов.
При успешной эксплуатации злоумышленник может:
- обходить ограничения десериализации;
- загружать запрещённые классы;
- вызывать небезопасные функции;
- получать доступ к внутренним объектам приложения;
- потенциально выполнять произвольный код.
Почему это опасно
Уязвимости десериализации традиционно считаются одними из самых опасных проблем безопасности.
Даже если приложение использует белые списки или политики ограничения классов, ошибка в реализации ReduceSerializer позволяет обойти эти проверки.
Особенно под угрозой находятся:
- API-сервисы;
- системы обмена сообщениями;
- распределённые вычисления;
- платформы обработки данных;
- внутренние Python-сервисы;
- ML/AI-инфраструктура.
Уязвимость исправлена в версии Apache Fory 1.0.0.
Рекомендуемые действия:
- немедленно обновить Apache Fory до версии 1.0.0;
- не обрабатывать сериализованные данные от недоверенных источников;
- включить strict mode;
- проверить использование
DeserializationPolicy; - ограничить сетевой доступ к сервисам десериализации;
- провести аудит Python-сервисов, использующих PyFory.
Дополнительно
Apache Fory - относительно молодой проект Apache Software Foundation, предназначенный для высокопроизводительной сериализации данных между различными языками программирования.
Исследователи отмечают, что подобные ошибки особенно опасны для Python-экосистемы, поскольку десериализация объектов нередко может приводить к выполнению произвольного кода при неправильной обработке механизмов восстановления состояния объектов.
Также специалисты по безопасности подчёркивают, что использование пользовательских политик безопасности (DeserializationPolicy) не гарантирует защиту при наличии логических ошибок внутри сериализатора.
