Рекомендуем
VPS на Windows и Linux — от 49 ₽ за 7 дней Быстрый запуск сервера на NVMe для сайтов, ботов и других задач.
Выбрать VPS

Python 3.15.2 блокирует скомпрометированные сертификаты eMudhra и исправляет обработку TAR-архивов

25 октября 2026 года вышел Python 3.15.2 — внеплановое обновление безопасности, которое запрещает использование скомпрометированных сертификатов eMudhra при проверке HTTPS-соединений. Защита работает внутри модуля ssl, в том числе когда программа использует собственный набор доверенных сертификатов. Релиз также закрывает проблемы при распаковке TAR-архивов, обработке cookie и одновременной загрузке модулей несколькими потоками.

Python 3.15.2 блокирует скомпрометированные сертификаты eMudhra
Python 3.15.2 блокирует скомпрометированные сертификаты eMudhra

Python 3.15.2 отклоняет TLS-сертификаты с опасными ключами eMudhra

После компрометации промежуточных ключей удостоверяющего центра eMudhra возникла проблема для приложений, проверяющих подлинность HTTPS-сайтов. Если программа продолжает доверять затронутой цепочке сертификатов, злоумышленник при возможности перехватить сетевое соединение может попытаться выдать свой сервер за настоящий. Подобная атака опасна и при обращении к репозиториям программных пакетов, включая PyPI.

В Python 3.15.2 для этого случая изменили сам механизм проверки сертификатов в модуле ssl. Он отклоняет TLS-цепочки с известными скомпрометированными промежуточными ключами eMudhra. Проверка привязана к открытому ключу сертификата, поэтому блокировка распространяется и на сертификаты, подписанные другим центром, если в них повторно использован тот же ключ.

Почему блокировка потребовалась на уровне Python? Системные хранилища доверенных сертификатов обновляются с разной скоростью, а некоторые библиотеки поставляют собственные наборы центров сертификации. В результате одна и та же HTTPS-цепочка могла считаться недоверенной в браузере, но проходить проверку в другом приложении. Исправление CVE-2026-115557 создаёт дополнительный барьер внутри интерпретатора, когда проверка сертификатов включена. Соединения с отключённой проверкой (CERT_NONE) этим механизмом не защищены.

Чем защита Python 3.15.2 отличается от обновления 3.15.1

21 октября вышел Python 3.15.1. Тогда разработчики обновили поставляемый вместе с интерпретатором pip до версии 26.2.2 с набором сертификатов certifi 2026.10.19. Это было связано с тем же инцидентом eMudhra: pip использует встроенные доверенные сертификаты при загрузке пакетов.

У такого исправления оставалось ограничение. В уже существующем виртуальном окружении могла сохраняться старая версия pip и её прежний набор сертификатов. Python 3.15.2 переносит проверку опасных ключей глубже — в модуль ssl. По заявлению команды релиза, обычные операции pip, включая обновление самого менеджера пакетов, теперь защищены от атак с использованием именно этих ключей, даже если pip пока не обновлён.

При этом новая проверка ssl не заменяет все механизмы защиты соединений и не устраняет другие возможные проблемы со старыми зависимостями. Её действие ограничено определёнными скомпрометированными ключами и соединениями с включённой проверкой сертификатов.

Фильтр tarfile больше не допускает подмену каталога распаковки

Второе исправление безопасности, CVE-2026-114583, относится к стандартному модулю tarfile. Он используется для чтения и извлечения TAR-архивов, в том числе полученных из внешних источников.

Проблема была связана с символическими и жёсткими ссылками внутри архива. В определённых условиях ссылка могла заменить каталог назначения распаковки и изменить путь, по которому будут извлекаться последующие файлы. Защитный фильтр tarfile.tar_filter некорректно обрабатывал такие записи.

Теперь фильтр отклоняет ссылки, способные подменить сам каталог назначения. Это важно для сервисов, которые автоматически принимают и распаковывают архивы: путь файла внутри архива нельзя считать безопасным только потому, что он выглядит относительным. Исправление касается конкретного обхода фильтра, а не всех возможных рисков обработки недоверенных архивов.

Ещё одна ошибка находилась в http.cookiejar — библиотеке, которая хранит cookie и передаёт их при HTTP-запросах. Раньше параметр Version с отрицательным значением позволял обойти проверку принадлежности cookie домену.

В такой ситуации сервер одного сайта мог заставить общий контейнер CookieJar сохранить или перезаписать cookie, предназначенную для другого домена. Это создавало риск вмешательства в состояние последующих HTTP-запросов. Разработчики уточняют, что сама ошибка не давала атакующему серверу прочитать чужие cookie. В Python 3.15.2 cookie с отрицательной версией отклоняются.

Исправлен взаимный блок потоков при импорте модулей

В официальной документации Python 3.15.2 отдельно отмечено исправление importlib. После изменения механизма импорта в Python 3.15.0 несколько потоков, впервые загружавших вложенные модули одного пакета, могли столкнуться с взаимной блокировкой или неожиданными ошибками импорта.

Теперь блокировка импорта пакета освобождается сразу после завершения его __init__. Скорректировано и поведение importlib.import_module() при циклическом импорте, распределённом между потоками: оно согласовано с обычным оператором import. Изменение затрагивает приложения с параллельной инициализацией модулей, в которых подобный сбой мог проявляться нерегулярно.

Срочные исправления получили и другие поддерживаемые версии Python

В Python 3.15.2 вошло около 130 исправлений ошибок, изменений сборки и документации от 70 участников после выпуска 3.15.1. Одновременно команда опубликовала Python 3.14.10, 3.13.18, 3.12.16 и 3.11.18 с аналогичными исправлениями безопасности. Для веток 3.15 и 3.14 доступны готовые установщики; обновления 3.13, 3.12 и 3.11 выпущены в виде исходного кода.

Последовательность октябрьских релизов показывает, как менялась защита Python от инцидента eMudhra: 3.15.1 обновил сертификаты, поставляемые вместе с pip, а 3.15.2 добавил блокировку скомпрометированных ключей при проверке TLS внутри ssl. Отдельные исправления tarfile и http.cookiejar закрывают проблемы, не связанные с центром сертификации. Для соединений без проверки сертификатов ограничения прежние: новая блокировка ssl на них не распространяется.

Источники

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.

Вам также может понравиться