6 ноября 2026 года Seth Larson в рассылке security-announce Python Software Foundation сообщил об уязвимости CVE-2026-119170. Её отметили как HIGH: в модуле hashlib ограничения FIPS применяются неправильно. Задеты только те, кто запускает именно Python 3.14.10 и при этом использует OpenSSL в режиме FIPS. Все остальные версии Python не затронуты.
Для большинства серверов и рабочих машин это ничего не меняет. Режим FIPS обычно включают там, где криптография должна укладываться в утверждённый набор алгоритмов. Если у вас обычный Linux без FIPS, из-за этой ошибки обновляться не нужно.
Что ломается в hashlib
У конструкторов hashlib есть параметр usedforsecurity. По умолчанию он равен True: хеш создают для защиты данных, и в режиме FIPS OpenSSL должен отказать в неразрешённых алгоритмах вроде MD5. Если передать usedforsecurity=False, тот же MD5 можно взять для контрольной суммы или другой задачи, где криптостойкость не нужна.
В Python 3.14.10 этот флаг применили наоборот. На трекере CPython в issue 161383 разобрали типичный случай: при включённом FIPS вызов через OpenSSL с usedforsecurity=False получает отказ, хотя как раз должен пройти, а вызов с usedforsecurity=True проходит, хотя должен быть запрещён. После этого hashlib.md5() тихо берёт встроенную реализацию _md5, которая про FIPS не спрашивает. В итоге hashlib.md5() в режиме FIPS отрабатывает без ошибки даже тогда, когда хеш берут для защиты данных.
В advisory GHSA-vq78-g94j-3ppp это описано как ошибка при запросе свойства -fips для usedforsecurity=True. Исходный тикет в репозитории CPython это issue 160923. В записи указан CWE-693, сбой механизма защиты, и оценка CVSS 4.0: 8.2 балла.
Исправление уже в ветке 3.14, готового релиза нет
6 ноября в ветку 3.14 влили pull request 160984 авторства Seth Larson. У запроса стоят метки type-security и release-blocker. В файле новостей CPython сказано то же, что и в рассылке: исправлено получение свойства -fips для usedforsecurity=True в hashlib, задет только Python 3.14.10.
Готового релиза Python 3.14.11 на python.org ещё нет. В расписании PEP 745 следующий выпуск 3.14.11 ожидается во вторник 1 декабря 2026 года. В трекере Debian пакет python3.14 версии 3.14.10-1 по-прежнему отмечен как уязвимый, исправленной версии там ещё нет.
Если вы не включали FIPS в OpenSSL, эта ошибка вас не касается. Если 3.14.10 как раз работает в контуре с FIPS, готового установщика с патчом пока нет: его стоит ждать вместе с 3.14.11. Как сказано в объявлении, остальные ветки не затронуты, в том числе 3.14.9, 3.13 и 3.15.
Если коротко, проверять есть смысл только Python 3.14.10 вместе с OpenSSL в режиме FIPS. Для всех остальных окружений эта CVE ничего не меняет. Исправление уже лежит в исходниках ветки 3.14, а готовый релиз 3.14.11 ещё не выкладывали.

