The XML parser (xmlparse.c) in expat before 2.1.0 computes hash values without restricting the ability to trigger hash collisions predictabl
The XML parser (xmlparse.c) in expat before 2.1.0 computes hash values without restricting the ability to trigger hash collisions predictably, which allows context-dependent attackers to cause a denial of service (CPU consumption) via an XML file with many identifiers with the same value.
- Опубликовано
- 3 июл. 2012 г.
- Обновлено
- 16 июн. 2026 г.
- EPSS
- 5,7 % · 93-й процентиль
- CWE
- CWE-400
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
19
Наблюдать
Пока низкий приоритет.
- CVSS
- 17 / 40 · 4.3 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 2 / 30 · 5,7 %
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| libexpat project | libexpat | cpe:2.3:a:libexpat_project:libexpat |
| python | python | cpe:2.3:a:python:python |
| debian | debian linux | cpe:2.3:o:debian:debian_linux |
| canonical | ubuntu linux | cpe:2.3:o:canonical:ubuntu_linux |
| oracle | solaris | cpe:2.3:o:oracle:solaris |
| redhat | storage | cpe:2.3:a:redhat:storage |
| redhat | enterprise linux desktop | cpe:2.3:o:redhat:enterprise_linux_desktop |
| redhat | enterprise linux eus | cpe:2.3:o:redhat:enterprise_linux_eus |
| redhat | enterprise linux server | cpe:2.3:o:redhat:enterprise_linux_server |
| redhat | enterprise linux server aus | cpe:2.3:o:redhat:enterprise_linux_server_aus |
| redhat | enterprise linux workstation | cpe:2.3:o:redhat:enterprise_linux_workstation |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- canonical ubuntu linux10.04
- canonical ubuntu linux11.04
- canonical ubuntu linux11.10
- canonical ubuntu linux12.04
- canonical ubuntu linux8.04
- debian debian linux6.0
- debian debian linux7.0
- libexpat project libexpatдо 2.1.0
- oracle solaris11.3
- python python3.1.0 и новее · до 3.1.5
- python python2.7.0 и новее · до 2.7.3
- python python2.6.0 и новее · до 2.6.8
- python python3.2.0 и новее · до 3.2.3
- redhat enterprise linux desktop5.0
- redhat enterprise linux desktop6.0
- redhat enterprise linux eus6.2
- redhat enterprise linux server5.0
- redhat enterprise linux server6.0
- redhat enterprise linux server aus6.2
- redhat enterprise linux workstation5.0
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:12 | expat | до 2.1.0~beta3-1 | 2.1.0~beta3-1 |
| Debian:12 | libxmltok | все версии | — |
| Debian:12 | xmlrpc-c | до 1.16.33-3.2 | 1.16.33-3.2 |
| Debian:6.0 | expat | до 2.0.1-7+squeeze1 | 2.0.1-7+squeeze1 |
| openSUSE:Tumbleweed | expat | до 2.2.0-3.1 | 2.2.0-3.1 |
| Red Hat:enterprise_linux:5::client | expat | до 0:1.95.8-11.el5_8 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:5::client | expat-debuginfo | до 0:1.95.8-11.el5_8 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:5::client_workstation | expat-devel | до 0:1.95.8-11.el5_8 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:6::client | expat | до 0:2.0.1-11.el6_2 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::client | expat-debuginfo | до 0:2.0.1-11.el6_2 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::client | expat-devel | до 0:2.0.1-11.el6_2 | 0:2.0.1-11.el6_2 |
| SUSE:HPE Helion OpenStack 8 | python3 | до 3.4.10-25.39.3 | 3.4.10-25.39.3 |
| SUSE:HPE Helion OpenStack 8 | python3-base | до 3.4.10-25.39.2 | 3.4.10-25.39.2 |
Тот же продукт
libexpat project: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2022-25236xmlparse.c in Expat (aka libexpat) before 2.4.5 allows attackers to insert namespace-separator characters into namespace URIs.50В плане
- CVE-2022-25315In Expat (aka libexpat) before 2.4.5, there is an integer overflow in storeRawNames.40В плане
- CVE-2022-25235xmltok_impl.c in Expat (aka libexpat) before 2.4.5 lacks certain validation of encoding, such as checks for whether a UTF-8 character is val40В плане
- CVE-2022-23852Expat (aka libexpat) before 2.4.4 has a signed integer overflow in XML_GetBuffer, for configurations with a nonzero XML_CONTEXT_BYTES.40В плане
- CVE-2022-22824defineAttribute in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.40В плане
- CVE-2022-22823build_model in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.40В плане
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| debian:expat | 2.1.0~beta3-1 · Debian:12 | Реестр пакетов (OSV) |
| debian:xmlrpc-c | 1.16.33-3.2 · Debian:12 | Реестр пакетов (OSV) |
| opensuse:expat | 2.2.0-3.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| red hat:expat | 0:1.95.8-11.el5_8 · Red Hat:enterprise_linux:5::client | Реестр пакетов (OSV) |
| red hat:expat-debuginfo | 0:1.95.8-11.el5_8 · Red Hat:enterprise_linux:5::client | Реестр пакетов (OSV) |
| red hat:expat-devel | 0:1.95.8-11.el5_8 · Red Hat:enterprise_linux:5::client_workstation | Реестр пакетов (OSV) |
| suse:python3 | 3.4.10-25.39.3 · SUSE:HPE Helion OpenStack 8 | Реестр пакетов (OSV) |
| suse:python3-base | 3.4.10-25.39.2 · SUSE:HPE Helion OpenStack 8 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
В случае успеха
- Конфиденциальность
- нет
- Целостность
- нет
- Доступность
- P · работа сервиса может быть нарушена
- Сложность атаки
- M
- Влияние на конфиденциальность
- Нет
- Влияние на целостность
- Нет
- Влияние на доступность
- P
Класс уязвимости (CWE)
CWE-400 · Uncontrolled Resource ConsumptionВектор CVSS
AV:N/AC:M/Au:N/C:N/I:N/A:P
nvd-primary
Первопричина
Код, разбирающий вложенные структуры, не ограничивает глубину или размер. Небольшие входные данные могут привести к несоразмерной вычислительной нагрузке.
Ошибка в коде
Весь класс CWE-400Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
function expand(node) { return node.children.map(expand);}Исправленный код
const MAX_DEPTH = 32;function expand(node, depth = 0) { if (depth > MAX_DEPTH) throw new Error("слишком глубоко"); return node.children.map((c) => expand(c, depth + 1));}Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- bugs.python.org/issue13703#msg151870
- lists.apple.com/archives/security-announce/2013/Oct/msg00004.html
- lists.apple.com/archives/security-announce/2015/Dec/msg00005.html
- mail.libexpat.org/pipermail/expat-discuss/2012-March/002768.html
- rhn.redhat.com/errata/RHSA-2012-0731.html
- rhn.redhat.com/errata/RHSA-2016-0062.html
- rhn.redhat.com/errata/RHSA-2016-2957.html
- secunia.com/advisories/49504
- secunia.com/advisories/51024
- secunia.com/advisories/51040
- sourceforge.net/projects/expat/files/expat/2.1.0/
- sourceforge.net/tracker/?func=detail&atid=110127&aid=3496608&group_id=10127
- www.debian.org/security/2012/dsa-2525
- www.mandriva.com/security/advisories?name=MDVSA-2012:041
- www.oracle.com/technetwork/topics/security/bulletinjul2016-3090568.html
- www.securityfocus.com/bid/52379
- www.ubuntu.com/usn/USN-1527-1
- www.ubuntu.com/usn/USN-1613-1
- www.ubuntu.com/usn/USN-1613-2
- kc.mcafee.com/corporate/index?page=content&id=SB10365
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.