Apache MINA: Critical Deserialization Allow-list Bypass via resolveProxyClass - ZDRES-232
Оценка Noroxi
Приоритет: Наблюдать (оценка срочности 39/100)
- В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
- Вероятность эксплуатации в ближайшие 30 дней: 0,50% (FIRST EPSS).
- Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
- По данным CISA атаку можно автоматизировать: цели находятся массовым сканированием.
- Исправленная версия: Apache Software Foundation Apache MINA 2.0.29, 2.1.13, 2.2.8.
Пока низкий приоритет. Обновитесь до Apache Software Foundation Apache MINA 2.0.29, 2.1.13, 2.2.8 или новее.
Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем
Первоисточники: NVD · CVE.org · FIRST EPSS
ZDRES-232: resolveProxyClass Not Overridden - acceptMatchers Filter Bypass via java.lang.reflect.Proxy Assessment: Fully addressed. When the serialised stream contains a TC_PROXYCLASSDESC (the marker for a java.lang.reflect.Proxy ), JDK’s ObjectInputStream.readProxyDesc() is dispatched. JDK then calls the default ObjectInputStream.resolveProxyClass(interfaces) implementation, which performs Class.forName(intf, false, latestUserDefinedLoader()) for EACH interface name and constructs the proxy class — bypassing the accepted classes list . ZDRES-233: Class.forName(name, initialize=true, classLoader) in readClassDescriptor Triggers Static Initialiser of Allow-Listed Classes Assessment: Fully addressed. For ANY class on the allow-list, deserialising a stream that names it triggers the class’s (static initialiser) BEFORE any instance is constructed. This means an attacker who supplies a class name on the allow-list (e.g., the developer wrote accept(“com.myapp.*") , attacker supplies com.myapp.SomeClass ) causes <clinit> of SomeClass — and many real-world classes have side-effecting static initialisers Both issues have been fixed.
- Опубликовано
- 3 июн. 2026 г.
- Обновлено
- 22 июл. 2026 г.
- EPSS
- 0,5 % · 42-й процентиль
- CWE
- CWE-502
Инструменты для отчёта
Оценка срочности
39
Наблюдать
Пока низкий приоритет.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,5 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- да
- Техническое влияние
- полное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · apache
- 9,8
- NVD ещё не выставил свою оценку; показана оценка CNA.
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Публичного эксплойта нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
| Вендор | Продукт | CPE |
|---|---|---|
| apache | mina | cpe:2.3:a:apache:mina |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- apache mina2.0.29
- apache mina2.1.13
- apache mina2.2.8
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (apache). Не зависят от анализа CPE в NVD и обычно опережают его.
Apache Software Foundation Apache MINA
- 2.2.0 и новее · до 2.2.8затронута · semver
- 2.1.0 и новее · до 2.1.13затронута · semver
- 2.0.0 и новее · до 2.0.29затронута · semver
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:12 | mina | с 0 | — |
| Debian:12 | mina2 | с 0 | — |
| Debian:14 | mina2 | до 2.2.9-1 | 2.2.9-1 |
| Maven | org.apache.mina:mina-core | с 2.1.0 · до 2.1.13 | 2.1.13 |
| Maven | org.apache.mina:mina-core | с 2.2.0 · до 2.2.8 | 2.2.8 |
| Maven | org.apache.mina:mina-core | до 2.0.29 | 2.0.29 |
Тот же продукт
apache: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2024-52046Apache MINA: MINA applications using unbounded deserialization may allow RCE47В плане
- CVE-2026-42779Apache MINA: AbstractIoBuffer.resolveClass() null-clazz Branch Skips acceptMatchers Filter — Full Object Deserialization RCE (take 2)39Наблюдать
- CVE-2026-42778Apache MINA: CWE-502 Deserialization of Untrusted Data (take 2)39Наблюдать
Опубликованы до и после этой записи в том же продукте
- ← РаньшеCVE-2021-419731 нояб. 2021 г. · Apache MINA HTTP listener DOS27Наблюдать
- ← РаньшеCVE-2026-4163527 апр. 2026 г. · Apache MINA: AbstractIoBuffer.resolveClass() null-clazz Branch Skips acceptMatchers Filter — Full Object Deserialization RCE39Наблюдать
- ← РаньшеCVE-2026-4140927 апр. 2026 г. · Apache MINA: CWE-502 Deserialization of Untrusted Data39Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Apache Software Foundation Apache MINA | 2.0.29 | Вендор (CNA) |
| Apache Software Foundation Apache MINA | 2.1.13 | Вендор (CNA) |
| Apache Software Foundation Apache MINA | 2.2.8 | Вендор (CNA) |
| debian:mina2 | 2.2.9-1 · Debian:14 | Реестр пакетов (OSV) |
| Maven:org.apache.mina:mina-core | 2.0.29 | Реестр пакетов (OSV) |
| Maven:org.apache.mina:mina-core | 2.1.13 | Реестр пакетов (OSV) |
| Maven:org.apache.mina:mina-core | 2.2.8 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
- CVE-2024-52046с разницей 525 дн.Apache MINA: MINA applications using unbounded deserialization may allow RCE47В плане
- CVE-2026-42778с разницей 33 дн.Apache MINA: CWE-502 Deserialization of Untrusted Data (take 2)39Наблюдать
- CVE-2026-42779с разницей 33 дн.Apache MINA: AbstractIoBuffer.resolveClass() null-clazz Branch Skips acceptMatchers Filter — Full Object Deserialization RCE (take 2)39Наблюдать
- CVE-2026-41409с разницей 37 дн.Apache MINA: CWE-502 Deserialization of Untrusted Data39Наблюдать
- CVE-2026-41635с разницей 37 дн.Apache MINA: AbstractIoBuffer.resolveClass() null-clazz Branch Skips acceptMatchers Filter — Full Object Deserialization RCE39Наблюдать
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-502 · Deserialization of Untrusted DataВектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-secondary
Первопричина
Данные, полученные по сети, десериализуются в собственный объектный формат языка без проверки источника. Во время десериализации могут быть задействованы пути выполнения кода внутри объекта.
Ошибка в коде
Весь класс CWE-502Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
payload = sock.recv(65536)
job = pickle.loads(payload)Исправленный код
payload = sock.recv(65536)
if not hmac.compare_digest(sign(payload), header_sig):
raise PermissionError("недействительная подпись")
job = JobSchema.validate(json.loads(payload))Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
Техники ATT&CK
—
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.