


В предупреждении GitHub Advisory Database, обновлённом 23 октября, указаны Python-пакеты, затронутые уязвимостью декодировщика Brotli CVE-2026-111497. Исправленные версии доступны в PyPI с 22 октября. На Mentoring.digital объясняем, что проверить в зависимостях Python-приложения.
Ошибка находится в обработке сжатого потока данных. Специально подготовленные данные могут вызвать повреждение памяти, раскрытие её содержимого, отказ в обслуживании или потенциальное выполнение произвольного кода. Возможность конкретного последствия зависит от того, как уязвимый декодировщик используется в приложении.
Для экосистемы pip карточка предупреждения указывает следующие диапазоны:
Проверять нужно фактически установленный пакет в рабочем окружении. Обновление системной библиотеки или другого приложения само по себе не доказывает, что зависимость внутри виртуального окружения Python тоже обновилась.
Поддержка сжатия может использоваться через другую библиотеку. Например, документация urllib3 указывает, что обработка Brotli доступна при установленном Brotli либо brotlicffi; пакет также можно добавить как дополнительную зависимость urllib3[brotli].
Поэтому отсутствие прямого импорта в собственном коде не исключает наличие декодировщика в приложении. Проверьте состав окружения и путь обработки HTTP-ответов со сжатием, а не только строки исходного кода.
Разобраться в виртуальных окружениях, дополнительных зависимостях и воспроизводимой установке можно с ментором по Python. Для исправления этой проблемы важно проследить путь пакета от списка зависимостей до запущенного приложения.