Разработчики популярного фреймворка Apache MINA выпустили экстренные обновления безопасности. Причиной стали две критические уязвимости, которые позволяют злоумышленникам удаленно выполнять вредоносный код на серверах. Ситуация осложняется тем, что исправления планировались в предыдущем релизе, однако из-за внутренней ошибки слияния кода они не попали в финальные версии.
Две бреши, одна цель
Apache MINA - это широко распространенная платформа для создания высокопроизводительных сетевых приложений на языке Java. Её используют в самых разных проектах, от простых чатов до корпоративных систем сбора данных. И вот теперь администраторам и разработчикам придется срочно обновлять свои системы.
Обновление закрывает две уязвимости, зарегистрированные в базе Common Vulnerabilities and Exposures (CVE) - международном каталоге известных проблем безопасности. Первая из них, CVE-2026-42778, связана с десериализацией непроверенных данных. Если объяснять просто, десериализация - это процесс преобразования данных, полученных по сети, обратно в объект Java. Когда программа доверчиво принимает такие данные от неизвестных источников без должной проверки, хакер может подменить пакет и внедрить в него вредоносные команды.
Вторая уязвимость, CVE-2026-42779, напрямую открывает путь к удаленному выполнению кода (RCE - атака, позволяющая запускать произвольные команды на сервере). Она возникает из-за ошибки в методе AbstractIoBuffer.resolveClass(). В одной из веток программы отсутствует важнейший фильтр безопасности - acceptMatchers. В результате система выполняет полную десериализацию объекта, и злоумышленник получает возможность запустить любой код на целевом сервере.
Кто в зоне риска
Обе уязвимости затрагивают только те приложения, которые используют метод AbstractIoBuffer.getObject(). Этот метод, как правило, применяется для десериализации классов Java, отправленных подключенным клиентом. Если ваша программа обрабатывает с его помощью входящие данные, она находится под серьезной угрозой.
Отправив специально сформированную полезную нагрузку (набор данных, вызывающий срабатывание уязвимости), атакующий может обойти внутренние фильтры и получить полный контроль над приложением. В худшем случае это приведет к компрометации всей сети или масштабной краже данных. Причем для проведения атаки не требуется никаких дополнительных привилегий - достаточно, чтобы уязвимое приложение было доступно по сети.
Почему исправление пришло с опозданием
Особого внимания заслуживает история появления этих ошибок. Как сообщается в официальном бюллетене Apache MINA, патчи для обеих уязвимостей должны были выйти еще в предыдущем обновлении. Однако из-за ошибки при слиянии веток кода исправления так и не попали в релиз. Разработчики признали свою оплошность и выпустили внеочередные версии, чтобы немедленно защитить пользователей.
Что делать
Главная рекомендация от команды Apache MINA - обновить фреймворк до последних стабильных версий. Для ветки 2.1.x необходимо перейти на версию 2.1.12. Примечательно, что в первоначальном анонсе разработчики допустили опечатку, указав неверный номер, но в итоге правильная версия именно 2.1.12. Для пользователей ветки 2.2.x актуальной является версия 2.2.7.
Скачать защищенные релизы можно на официальной странице загрузок Apache MINA. Специалистам по безопасности настоятельно рекомендуют в кратчайшие сроки проверить свои проекты на использование метода AbstractIoBuffer.getObject() и установить патчи.
Обе обнаруженные уязвимости наглядно демонстрируют, насколько критичной может быть даже мелкая ошибка в коде, особенно когда речь идет о низкоуровневых компонентах сетевого взаимодействия. Ведь Apache MINA лежит в основе множества систем, и любая брешь в нём может привести к каскадным последствиям для всей ИТ-инфраструктуры. Разработчикам следует взять за правило - после любых обновлений проверять, действительно ли все запланированные исправления попали в релиз. В данном случае административный сбой едва не стоил пользователям безопасности их систем.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-42778
- https://www.cve.org/CVERecord?id=CVE-2026-42779
- https://lists.apache.org/thread/fhlx5k91hrkgyzh7yk1nghrn3k27gxy0