Use-after-free in "unicode_escape" decoder with error handler
There is an issue in CPython when using `bytes.decode("unicode_escape", error="ignore|replace")`. If you are not using the "unicode_escape" encoding or an error handler your usage is not affected. To work-around this issue you may stop using the error= handler and instead wrap the bytes.decode() call in a try-except catching the DecodeError.
- BDU:2025-10930
- ALSA-2025:23530
- DLA-4445-1
- openSUSE-SU-2025:15141-1
- openSUSE-SU-2025:15154-1
- openSUSE-SU-2025:15163-1
- openSUSE-SU-2025:15190-1
- openSUSE-SU-2025:15191-1
- openSUSE-SU-2025:15192-1
- RHSA-2025:23530
- RLSA-2025:23530
- SUSE-SU-2025:01877-1
- SUSE-SU-2025:02038-1
- SUSE-SU-2025:02047-1
- SUSE-SU-2025:02048-1
- SUSE-SU-2025:02049-1
- SUSE-SU-2025:02050-1
- SUSE-SU-2025:02057-1
- SUSE-SU-2025:02074-1
- SUSE-SU-2025:02297-1
- Опубликовано
- 15 мая 2025 г.
- Обновлено
- 31 июл. 2026 г.
- EPSS
- 0,2 % · 11-й процентиль
- CWE
- CWE-416
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
23
Наблюдать
Пока низкий приоритет.
- CVSS
- 23 / 40 · 5.9 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,2 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- нет
- Техническое влияние
- частичное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · PSF
- 5,9
- NVD ещё не выставил свою оценку; показана оценка CNA.
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для сотен тысяч уязвимостей в базе; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЗатронутые системы
—
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (PSF). Не зависят от анализа CPE в NVD и обычно опережают его.
Python Software Foundation CPython
- до 3.9.23затронута · python
- 3.10.0 и новее · до 3.10.18затронута · python
- 3.11.0 и новее · до 3.11.13затронута · python
- 3.12.0 и новее · до 3.12.11затронута · python
- 3.13.0 и новее · до 3.13.4затронута · python
- 3.14.0a1 и новее · до 3.14.0b2затронута · python
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| AlmaLinux:8 | python39 | до 3.9.25-2.module_el8.10.0+4083+53cad1fb | 3.9.25-2.module_el8.10.0+4083+53cad1fb |
| AlmaLinux:8 | python39-attrs | до 20.3.0-2.module_el8.6.0+2780+a40f65e1 | 20.3.0-2.module_el8.6.0+2780+a40f65e1 |
| AlmaLinux:8 | python39-cffi | до 1.14.3-2.module_el8.6.0+2780+a40f65e1 | 1.14.3-2.module_el8.6.0+2780+a40f65e1 |
| AlmaLinux:8 | python39-cffi | до 1.14.3-2.module_el8.6.0+3248+c431e88c | 1.14.3-2.module_el8.6.0+3248+c431e88c |
| AlmaLinux:8 | python39-chardet | до 3.0.4-19.module_el8.6.0+2780+a40f65e1 | 3.0.4-19.module_el8.6.0+2780+a40f65e1 |
| AlmaLinux:8 | python39-cryptography | до 3.3.1-3.module_el8.10.0+3765+2f9a457d | 3.3.1-3.module_el8.10.0+3765+2f9a457d |
| AlmaLinux:8 | python39-Cython | до 0.29.21-5.module_el8.6.0+2780+a40f65e1 | 0.29.21-5.module_el8.6.0+2780+a40f65e1 |
| AlmaLinux:8 | python39-Cython | до 0.29.21-5.module_el8.6.0+3248+c431e88c | 0.29.21-5.module_el8.6.0+3248+c431e88c |
| AlmaLinux:8 | python39-debug | до 3.9.25-2.module_el8.10.0+4083+53cad1fb | 3.9.25-2.module_el8.10.0+4083+53cad1fb |
| AlmaLinux:8 | python39-devel | до 3.9.25-2.module_el8.10.0+4083+53cad1fb | 3.9.25-2.module_el8.10.0+4083+53cad1fb |
| AlmaLinux:8 | python39-idle | до 3.9.25-2.module_el8.10.0+4083+53cad1fb | 3.9.25-2.module_el8.10.0+4083+53cad1fb |
| AlmaLinux:8 | python39-idna | до 2.10-4.module_el8.10.0+3849+a48d89aa | 2.10-4.module_el8.10.0+3849+a48d89aa |
| AlmaLinux:8 | python39-iniconfig | до 1.1.1-2.module_el8.6.0+2780+a40f65e1 | 1.1.1-2.module_el8.6.0+2780+a40f65e1 |
| AlmaLinux:8 | python39-libs | до 3.9.25-2.module_el8.10.0+4083+53cad1fb | 3.9.25-2.module_el8.10.0+4083+53cad1fb |
| AlmaLinux:8 | python39-lxml | до 4.6.5-1.module_el8.6.0+3248+c431e88c | 4.6.5-1.module_el8.6.0+3248+c431e88c |
| AlmaLinux:8 | python39-lxml | до 4.6.5-1.module_el8.6.0+2780+a40f65e1 | 4.6.5-1.module_el8.6.0+2780+a40f65e1 |
| AlmaLinux:8 | python39-mod_wsgi | до 4.7.1-7.module_el8.10.0+3989+a618fe15.1 | 4.7.1-7.module_el8.10.0+3989+a618fe15.1 |
| AlmaLinux:8 | python39-more-itertools | до 8.5.0-2.module_el8.6.0+2780+a40f65e1 | 8.5.0-2.module_el8.6.0+2780+a40f65e1 |
| AlmaLinux:8 | python39-numpy | до 1.19.4-3.module_el8.6.0+3248+c431e88c | 1.19.4-3.module_el8.6.0+3248+c431e88c |
| AlmaLinux:8 | python39-numpy | до 1.19.4-3.module_el8.6.0+2780+a40f65e1 | 1.19.4-3.module_el8.6.0+2780+a40f65e1 |
| AlmaLinux:8 | python39-numpy-doc | до 1.19.4-3.module_el8.6.0+2780+a40f65e1 | 1.19.4-3.module_el8.6.0+2780+a40f65e1 |
| AlmaLinux:8 | python39-numpy-f2py | до 1.19.4-3.module_el8.6.0+3248+c431e88c | 1.19.4-3.module_el8.6.0+3248+c431e88c |
| AlmaLinux:8 | python39-numpy-f2py | до 1.19.4-3.module_el8.6.0+2780+a40f65e1 | 1.19.4-3.module_el8.6.0+2780+a40f65e1 |
| AlmaLinux:8 | python39-packaging | до 20.4-4.module_el8.6.0+2780+a40f65e1 | 20.4-4.module_el8.6.0+2780+a40f65e1 |
+96
Тот же продукт
python software foundation: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2025-4517Arbitrary writes via tarfile realpath overflow37Наблюдать
- CVE-2026-19445Use-after-free of a server-side SSLContext when sni_callback switches contexts36Наблюдать
- CVE-2026-6100Use-after-free in lzma.LZMADecompressor, bz2.BZ2Decompressor, and gzip.GzipFile after re-use under memory pressure36Наблюдать
- CVE-2026-3298Out-of-bounds write in Windows asyncio.ProacterEventLoop.sock_recvfrom_into() when using nbytes35Наблюдать
- CVE-2024-12254Unbounded memory buffering in SelectorSocketTransport.writelines()35Наблюдать
- CVE-2024-8088Infinite loop when iterating over zip archive entry names from zipfile.Path34Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Python Software Foundation CPython | 3.10.18 | Вендор (CNA) |
| Python Software Foundation CPython | 3.11.13 | Вендор (CNA) |
| Python Software Foundation CPython | 3.12.11 | Вендор (CNA) |
| Python Software Foundation CPython | 3.13.4 | Вендор (CNA) |
| Python Software Foundation CPython | 3.14.0b2 | Вендор (CNA) |
| Python Software Foundation CPython | 3.9.23 | Вендор (CNA) |
| azl3 python3 3.12.9-2 on Azure Linux 3.0 | 3.12.9-2 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 python3 3.9.19-13 on CBL Mariner 2.0 | 3.9.19-14 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 python3 3.9.19-13 on CBL-Mariner 2.0 | 3.9.19-14 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 python3 3.9.19-14 on CBL Mariner 2.0 | 3.9.19-14 · CBL-Mariner Releases | Microsoft (MSRC) |
| almalinux:python39 | 3.9.25-2.module_el8.10.0+4083+53cad1fb · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:python39-attrs | 20.3.0-2.module_el8.6.0+2780+a40f65e1 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:python39-cffi | 1.14.3-2.module_el8.6.0+2780+a40f65e1 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:python39-chardet | 3.0.4-19.module_el8.6.0+2780+a40f65e1 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:python39-cryptography | 3.3.1-3.module_el8.10.0+3765+2f9a457d · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:python39-Cython | 0.29.21-5.module_el8.6.0+2780+a40f65e1 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:python39-debug | 3.9.25-2.module_el8.10.0+4083+53cad1fb · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:python39-devel | 3.9.25-2.module_el8.10.0+4083+53cad1fb · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:python39-idle | 3.9.25-2.module_el8.10.0+4083+53cad1fb · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:python39-idna | 2.10-4.module_el8.10.0+3849+a48d89aa · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:python39-iniconfig | 1.1.1-2.module_el8.6.0+2780+a40f65e1 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:python39-PyMySQL | 0.10.1-2.module_el8.6.0+2780+a40f65e1 · AlmaLinux:8 | Реестр пакетов (OSV) |
| alpine:python3 | 3.11.12-r1 · Alpine:v3.18 | Реестр пакетов (OSV) |
| debian:python3.11 | 3.11.2-6+deb12u7 · Debian:12 | Реестр пакетов (OSV) |
| debian:python3.13 | 3.13.3-4 · Debian:13 | Реестр пакетов (OSV) |
| debian:python3.9 | 3.9.2-1+deb11u4 · Debian:11 | Реестр пакетов (OSV) |
| opensuse:python310 | 3.10.18-150400.4.82.1 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:python310-core | 3.10.18-150400.4.82.1 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:python310-documentation | 3.10.18-150400.4.82.1 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:python312 | 3.12.11-150600.3.30.1 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
+34
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
- CVE-2026-6100с разницей 333 дн.Use-after-free in lzma.LZMADecompressor, bz2.BZ2Decompressor, and gzip.GzipFile after re-use under memory pressure36Наблюдать
- CVE-2026-19445с разницей 503 дн.Use-after-free of a server-side SSLContext when sni_callback switches contexts36Наблюдать
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана пользователем с локальным доступом к системе.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Требуются особые условия, например определённое время или конфигурация.
В случае успеха
- Конфиденциальность
- Целостность
- Доступность
- Вектор атаки
- Локальный
- Сложность атаки
- Высокая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- X
Класс уязвимости (CWE)
CWE-416 · Use After FreeВектор CVSS
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
nvd-secondary
Первопричина
После освобождения области памяти продолжает использоваться другая ссылка на неё. К этому моменту та же область может быть выделена под другие данные.
Ошибка в коде
Весь класс CWE-416Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
free(dev->buf);/* ... другой поток всё ещё работает ... */process(dev->buf);Исправленный код
lock(&dev->lock);free(dev->buf);dev->buf = NULL;unlock(&dev->lock);Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- github.com/python/cpython/commit/4398b788ffc1f954a2c552da285477d42a571292
- github.com/python/cpython/commit/6279eb8c076d89d3739a6edb393e43c7929b429d
- github.com/python/cpython/commit/69b4387f78f413e8c47572a85b3478c47eba8142
- github.com/python/cpython/commit/73b3040f592436385007918887b7e2132aa8431f
- github.com/python/cpython/commit/8d35fd1b34935221aff23a1ab69a429dd156be77
- github.com/python/cpython/commit/9f69a58623bd01349a18ba0c7a9cb1dad6a51e8e
- github.com/python/cpython/commit/ab9893c40609935e0d40a6d2a7307ea51aec598b
- github.com/python/cpython/issues/133767
- github.com/python/cpython/pull/129648
- mail.python.org/archives/list/security-announce@python.org/thread/L75IPBBTSCYEF56I2M4KIW353BB3AY74/
- www.openwall.com/lists/oss-security/2025/05/16/4
- www.openwall.com/lists/oss-security/2025/05/19/1
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.