Pypy3
Уязвимости
71
Эксплуатируемые
0
Макс. CVSS
9.4
Макс. EPSS
0.37325
Распределение по критичности
Критический
3
Высокий
21
Средний
40
Низкий
6
Также сопоставлено как (исходные строки): pypy3
Топ уязвимостей
CVE-2025-4517Запись локальных файлов в Ansible Automation Platform 2.5 packages
CVE-2026-6100Использование-после-свободный (UAF) был возможен в `lzma.LZMADecompressor`, `bz2.BZ2Decompressor``, `gz.LZMADempressor``, и `gzip.GzipFile`, когда распределение памяти не работает с `MemoryEror` и экземпляр декомпрессии повторно используется. Этот сценарий может быть запущен, если процесс находится под давлением памяти. Исправление очищает болтавшийся указатель в этом конкретном состоянии ошибки.
Уязвимость присутствует только в том случае, если программа повторно использует декомпрессорные экземпляры во время нескольких декомпрессионных вызовов даже после того, как «MemoryEror» поднимается во время декомпрессии. Использование функций помощника для одноразовых данных декомпрессии, таких как `lzma.decompress()`, `bz2.decompress()``, `lzma.decompress()`, `lzma.decompress()``, не затрагивается как новый экземпляр декомпрессора. Если экземпляр декомпрессора не используется повторно после состояния ошибки, это использование также не является уязвимым.
CVE-2021-29921В Python до 3.9.5 библиотека ipaddress неправильно обрабатывает начальные нули в октетах строки IP-адреса. Это (в некоторых ситуациях) позволяет злоумышленникам обходить контроль доступа, основанный на IP-адресах.
CVE-2024-8088Существует уязвимость ВЫСОКОЙ степени серьезности, затрагивающая модуль CPython "zipfile", затрагивающая "zipfile.Path". Обратите внимание, что более распространенный класс API "zipfile.ZipFile" не затронут.
При итерации по именам записей в zip-архиве (например, методы класса "zipfile.Path", такие как "namelist()", "iterdir()" и т. д.) процесс может быть помещен в бесконечный цикл с помощью злонамеренно созданного zip-архива. Этот дефект применяется при чтении только метаданных или извлечении содержимого zip-архива. Программы, которые не обрабатывают zip-архивы, контролируемые пользователем, не подвержены воздействию.
CVE-2023-40217Проблема была обнаружена в Python до 3.8.18, 3.9.x до 3.9.18, 3.10.x до 3.10.13 и 3.11.x до 3.11.5. Это в первую очередь влияет на серверы (например, HTTP-серверы), которые используют аутентификацию клиента TLS. Если создается сокет TLS на стороне сервера, получает данные в буфер сокета, а затем быстро закрывается, возникает короткое окно, в котором экземпляр SSLSocket обнаружит, что сокет «не подключен», и не инициирует рукопожатие, но буферизованные данные по-прежнему будут доступны для чтения из буфера сокета. Эти данные не будут аутентифицированы, если одноранговый узел TLS на стороне сервера ожидает аутентификации клиентского сертификата, и их нельзя отличить от допустимых данных потока TLS. Размер данных ограничен объемом, который поместится в буфер. (Соединение TLS нельзя напрямую использовать для эксфильтрации данных, поскольку уязвимый путь кода требует, чтобы соединение было закрыто при инициализации SSLSocket.)
CVE-2022-37454Эталонная реализация Keccak XKCP SHA-3 до fdc6fef имеет переполнение целого числа и последующее переполнение буфера, что позволяет злоумышленникам выполнять произвольный код или уничтожить ожидаемые криптографические свойства. Это происходит в интерфейсе функции губки.
CVE-2023-6597Проблема была обнаружена в классе `tempfile.TemporaryDirectory` CPython, затрагивающем версии 3.12.1, 3.11.7, 3.10.13, 3.9.18 и 3.8.18 и более ранние.
Класс tempfile.TemporaryDirectory будет разыменовывать символические ссылки во время очистки ошибок, связанных с разрешениями. Это означает, что пользователи, которые могут запускать привилегированные программы, потенциально могут изменять разрешения файлов, на которые ссылаются символические ссылки в некоторых обстоятельствах.
CVE-2022-48565Проблема XML External Entity (XXE) была обнаружена в Python до 3.9.1. Модуль plistlib больше не принимает объявления сущностей в XML-файлах plist, чтобы избежать уязвимостей XML.
CVE-2022-42919Python 3.9.x до 3.9.16 и 3.10.x до 3.10.9 в Linux допускает локальное повышение привилегий в конфигурации, отличной от конфигурации по умолчанию. Библиотека Python multiprocessing, при использовании с методом запуска forkserver в Linux, позволяет десериализовать pickles от любого пользователя в том же локальном сетевом пространстве имен машины, что во многих конфигурациях системы означает любого пользователя на той же машине. Pickles может выполнять произвольный код. Таким образом, это позволяет локальному пользователю повысить свои привилегии до пользователя, от имени которого выполняется любой процесс forkserver. Установка multiprocessing.util.abstract_sockets_supported в False является обходным путем. Метод запуска forkserver для multiprocessing не является методом запуска по умолчанию. Эта проблема относится только к Linux, потому что только Linux поддерживает абстрактные сокеты пространства имен. CPython до 3.9 не использует сокеты абстрактного пространства имен Linux по умолчанию. Поддержка для пользователей, вручную указывающих абстрактный сокет пространства имен, была добавлена в качестве исправления ошибок в 3.7.8 и 3.8.3, но пользователям необходимо будет выполнить определенные необычные вызовы API, чтобы сделать это в CPython до 3.9.
CVE-2015-20107В Python (также известном как CPython) до версии 3.10.8 модуль mailcap не добавляет escape-символы в команды, обнаруженные в системном файле mailcap. Это может позволить злоумышленникам внедрять команды оболочки в приложения, которые вызывают mailcap.findmatch с ненадежным вводом (если им не хватает проверки предоставленных пользователем имен файлов или аргументов). Исправление также перенесено в версии 3.7, 3.8, 3.9.
CVE-2025-8194Отказ в обслуживании в Multicluster Engine for Kubernetes 2.8
CVE-2025-69534Python-Markdown версии 3.8 содержит уязвимость, при которой деформированные HTML-подобные последовательности могут привести к тому, что html.parser.HTMLarser поднимет без обработки AssertionError во время разбора Markdown. Поскольку Python-Markdown не улавливает это исключение, любое приложение, которое обрабатывает контролируемый злоумышленником Markdown, может разбиться. Это позволяет удаленно, неаутентифицированное отрицание обслуживания в веб-приложениях, системах документации, трубопроводах CI/CD и любых услугах, которые оказывают ненадежным Markdown. Эта проблема была признана поставщиком и исправлена в версии 3.8.1. Эта проблема вызывает удаленное отрицание обслуживания в любом приложении, разбирая ненадеженный маркдаун, и может привести к раскрытию информации через не пойманные исключения.
CVE-2025-4435При использовании TarFile.errorlevel = 0 и извлечении с фильтром документированное поведение заключается в том, что любые отфильтрованные члены должны быть пропущены и не извлечены. Однако фактическое поведение TarFile.errorlevel = 0 в уязвимых версиях заключается в том, что член все равно будет извлечен и не пропущен [1].
Рекомендуемое решение - обновить версию Python до исправленной версии или применить исправления, указанные в соответствующих CVE. Если невозможно применить исправления или обновить версию, можно смягчить уязвимости, отклонив все ссылки с сегментом родительского каталога («..») перед вызовом функции извлечения.
Источники:
- [1] https://mail.python.org/archives/list/security-announce@python.org/thread/MAXIJJCUUMCL7ATZNDVEGGHUMQMUUKLG/
- [2] https://github.com/python/cpython/issues/135034
- [3] https://github.com/python/cpython/pull/135037
- [4] https://github.com/python/cpython/commit/3612d8f51741b11f36f8fb0494d79086bac9390a
- [5] https://github.com/python/cpython/commit/9e0ac76d96cf80b49055f6d6b9a6763fb9215c2a
CVE-2025-4330Позволяет игнорировать фильтр извлечения, позволяя целевым ссылкам указывать за пределами целевого каталога, а также изменять некоторые метаданные файлов [1].
Примечание: для Python 3.14 или более поздней версии значение filter= по умолчанию изменено с "без фильтрации" на "data", поэтому если вы полагаетесь на это новое поведение по умолчанию, то ваше использование также затронуто.
Примечание: ни одна из этих уязвимостей существенно не влияет на установку дистрибутивов исходного кода, которые представляют собой архивы tar, поскольку дистрибутивы исходного кода уже позволяют выполнять произвольный код во время процесса сборки. Однако при оценке дистрибутивов исходного кода важно избегать установки дистрибутивов исходного кода с подозрительными ссылками [1].
Источники:
- [1] https://mail.python.org/archives/list/security-announce@python.org/thread/MAXIJJCUUMCL7ATZNDVEGGHUMQMUUKLG/
- [2] https://github.com/python/cpython/issues/135034
- [3] https://github.com/python/cpython/pull/135037
- [4] https://github.com/python/cpython/commit/3612d8f51741b11f36f8fb0494d79086bac9390a
- [5] https://github.com/python/cpython/commit/9e0ac76d96cf80b49055f6d6b9a6763fb9215c2a
CVE-2025-4138Позволяет игнорировать фильтр извлечения, позволяя целевым символическим ссылкам указывать вне целевого каталога, и изменять некоторые метаданные файлов [1].
Вы уязвимы для этой уязвимости, если используете модуль tarfile для извлечения ненадежных tar-архивов с помощью TarFile.extractall() или TarFile.extract() с использованием параметра filter= со значением "data" или "tar". См. документацию по фильтрам извлечения tarfile https://docs.python.org/3/library/tarfile.html#tarfile-extraction-filter для получения дополнительной информации [1].
Обратите внимание, что для Python 3.14 или более поздней версии значение filter= по умолчанию изменилось с "без фильтрации" на "data", поэтому если вы полагаетесь на это новое поведение по умолчанию, то ваше использование также затронуто [1].
Обратите внимание, что ни одна из этих уязвимостей существенно не влияет на установку дистрибутивов исходного кода, которые являются tar-архивами, поскольку дистрибутивы исходного кода уже позволяют выполнение произвольного кода во время процесса сборки. Однако при оценке дистрибутивов исходного кода важно избегать установки дистрибутивов исходного кода с подозрительными ссылками.
Источники:
- [1] https://github.com/python/cpython/issues/135034
- [2] https://github.com/python/cpython/pull/135037
- [3] https://mail.python.org/archives/list/security-announce@python.org/thread/MAXIJJCUUMCL7ATZNDVEGGHUMQMUUKLG/
- [4] https://github.com/python/cpython/commit/3612d8f51741b11f36f8fb0494d79086bac9390a
- [5] https://github.com/python/cpython/commit/9e0ac76d96cf80b49055f6d6b9a6763fb9215c2a
CVE-2024-6232Существует уязвимость MEDIUM severity, затрагивающая CPython.
Регулярные выражения, допускающие чрезмерный возврат во время анализа заголовка tarfile.TarFile, уязвимы для ReDoS через специально созданные tar-архивы.
CVE-2023-24329Проблема в компоненте urllib.parse Python до версии 3.11.4 позволяет злоумышленникам обходить методы блокировки, предоставляя URL-адрес, начинающийся с пробелов.
CVE-2022-45061Проблема обнаружена в Python до 3.11.1. Ненужный квадратичный алгоритм существует на одном пути при обработке некоторых входных данных для декодера IDNA (RFC 3490), так что специально созданное, неоправданно длинное имя, представленное декодеру, может привести к отказу в обслуживании ЦП. Имена хостов часто предоставляются удаленными серверами, которые могут контролироваться злоумышленником; в таком сценарии они могут вызвать чрезмерное потребление ЦП на клиенте, пытающемся использовать предполагаемое имя хоста, предоставленное злоумышленником. Например, полезная нагрузка атаки может быть помещена в заголовок Location HTTP-ответа с кодом состояния 302. Исправление планируется в 3.11.1, 3.10.9, 3.9.16, 3.8.16 и 3.7.16.
CVE-2020-27619В Python 3 до 3.9.0 тесты кодеков Lib/test/multibytecodec_support.py CJK вызывают eval() для контента, полученного по HTTP.
CVE-2020-10735Была обнаружена ошибка в python. В алгоритмах с квадратичной временной сложностью, использующих небинарные основания, при использовании int("text") система может занять 50 мс для разбора строки int с 100000 символов и 5 секунд для 1000000 символов (float, decimal, int.from_bytes() и int() для бинарных оснований 2, 4, 8, 16 и 32 не затрагиваются). Наибольшая угроза от этой уязвимости связана с доступностью системы.
CVE-2019-20907В Lib/tarfile.py в Python до версии 3.8.3 злоумышленник может создать TAR-архив, приводящий к бесконечному циклу при открытии с помощью tarfile.open, поскольку _proc_pax не хватает проверки заголовка.
CVE-2021-28861Python 3.x по 3.10 имеет уязвимость открытой переадресации в lib/http/server.py из-за отсутствия защиты от нескольких (/) в начале пути URI, что может привести к раскрытию информации. ПРИМЕЧАНИЕ: это оспаривается третьей стороной, поскольку на странице документации http.server.html указано: «Предупреждение: http.server не рекомендуется для использования в производственной среде. Он реализует только основные проверки безопасности».
CVE-2026-4786Смягчение CVE-2026-4519 было неполным. Если URL содержит «%-действие», смягчение может быть обойдено для определенных типов браузера, API «webrowser.open()» может иметь команды, вводимые в базовую оболочку. Подробности см. в CVE-2026-4519.
CVE-2026-4519API webbrowser.open() будет принимать ведущие тире в URL, которые
может быть обработано как параметры командной строки для определенных веб-браузеров. Новый
Поведение отвергает ведущие тире. Пользователям рекомендуется санировать URL-адреса
перед переходом на webbrowser.open().
CVE-2026-7774tarfile.data_filter можно обойти, используя созданные записи ссылок, включая симбиляции с пустыми или каталогоподобными именами, для перенаправления более поздних членов архива за пределы предполагаемого каталога извлечения. Это позволило вредоносному архиву смолы заставлять tarfile.extractall() записывать файлы за пределами каталога назначения при условии получения разрешений процесса извлечения.