Перейти к содержимому
Noroxi
CVE-2019-20477· NVD / CVE Program· CNA mitre

PyYAML 5.1 through 5.1.2 has insufficient restrictions on the load and load_all functions because of a class deserialization issue, e.g., Po

Оценка Noroxi

Приоритет: В плане (оценка срочности 41/100)

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 5,1% (FIRST EPSS); выше, чем у 92,2% записей.
  • Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
  • Исправленная версия: python38-asn1crypto (AlmaLinux:8) 1.2.0-3.module_el8.6.0+2778+cd494b30; python38-cffi (AlmaLinux:8) 1.13.2-3.module_el8.6.0+2778+cd494b30; python38-chardet (AlmaLinux:8) 3.0.4-19.module_el8.6.0+2778+cd494b30.

Включите в обычный цикл установки исправлений. Обновитесь до python38-asn1crypto (AlmaLinux:8) 1.2.0-3.module_el8.6.0+2778+cd494b30; python38-cffi (AlmaLinux:8) 1.13.2-3.module_el8.6.0+2778+cd494b30; python38-chardet (AlmaLinux:8) 3.0.4-19.module_el8.6.0+2778+cd494b30 или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

PyYAML 5.1 through 5.1.2 has insufficient restrictions on the load and load_all functions because of a class deserialization issue, e.g., Popen is a class in the subprocess module. NOTE: this issue exists because of an incomplete fix for CVE-2017-18342.

КритическаяCVSS 9.8 · v3.1—Эксплойта нет Есть исправление
Опубликовано
19 февр. 2020 г.
Обновлено
16 июн. 2026 г.
EPSS
5,1 % · 92-й процентиль

Инструменты для отчёта

JSON

Оценка срочности

41

В плане

Включите в обычный цикл установки исправлений.

CVSS
39 / 40 · 9.8 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
2 / 30 · 5,1 %

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Публичного эксплойта нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2019-20477

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — сразу.

С бесплатным аккаунтом также

У вас WordPress? Проверьте сайт бесплатно в WP Lens

  • Оповещения по стеку: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

Бесплатный аккаунт, без карты. Отписаться можно в любой момент.

У вас WordPress? Проверьте сайт бесплатно в WP Lens

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

Мы используем этот продукт, нужна помощь

Затронутые системы

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

ВендорПродукт
pyyamlpyyaml
fedoraprojectfedora

Затронутые версии

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • fedoraproject fedora30
  • fedoraproject fedora31
  • pyyaml pyyaml5.1 и новее · до 5.1.2 включительно

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
AlmaLinux:8python38-asn1cryptoдо 1.2.0-3.module_el8.6.0+2778+cd494b301.2.0-3.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-cffiдо 1.13.2-3.module_el8.6.0+2778+cd494b301.13.2-3.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-chardetдо 3.0.4-19.module_el8.6.0+2778+cd494b303.0.4-19.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-cryptographyдо 2.8-3.module_el8.6.0+2778+cd494b302.8-3.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-Cythonдо 0.29.14-4.module_el8.6.0+2778+cd494b300.29.14-4.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-idnaдо 2.8-6.module_el8.6.0+2778+cd494b302.8-6.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-markupsafeдо 1.1.1-6.module_el8.6.0+2778+cd494b301.1.1-6.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-mod_wsgiдо 4.6.8-3.module_el8.6.0+2778+cd494b304.6.8-3.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-psycopg2до 2.8.4-4.module_el8.6.0+2778+cd494b302.8.4-4.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-psycopg2-docдо 2.8.4-4.module_el8.6.0+2778+cd494b302.8.4-4.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-psycopg2-testsдо 2.8.4-4.module_el8.6.0+2778+cd494b302.8.4-4.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-pycparserдо 2.19-3.module_el8.6.0+2778+cd494b302.19-3.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-pysocksдо 1.7.1-4.module_el8.6.0+2778+cd494b301.7.1-4.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-pytzдо 2019.3-3.module_el8.6.0+2778+cd494b302019.3-3.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-requestsдо 2.22.0-9.module_el8.6.0+2778+cd494b302.22.0-9.module_el8.6.0+2778+cd494b30
AlmaLinux:8python38-scipyдо 1.3.1-4.module_el8.6.0+2778+cd494b301.3.1-4.module_el8.6.0+2778+cd494b30
Debian:12pyyamlдо 5.2-15.2-1
PyPIpyyamlс 5.1 · до 5.25.2
PyPIpyyamlс 5.1 · до 5.2b15.2b1
Red Hat:enterprise_linux:8::appstreambabelдо 0:2.7.0-10.module+el8.2.0+5234+f98739b60:2.7.0-10.module+el8.2.0+5234+f98739b6
Red Hat:enterprise_linux:8::appstreamCythonдо 0:0.29.14-4.module+el8.2.0+5234+f98739b60:0.29.14-4.module+el8.2.0+5234+f98739b6
Red Hat:enterprise_linux:8::appstreamCython-debugsourceдо 0:0.29.14-4.module+el8.2.0+5234+f98739b60:0.29.14-4.module+el8.2.0+5234+f98739b6
Red Hat:enterprise_linux:8::appstreammod_wsgiдо 0:4.6.8-3.module+el8.2.0+5234+f98739b60:4.6.8-3.module+el8.2.0+5234+f98739b6
Red Hat:enterprise_linux:8::appstreamnumpyдо 0:1.17.3-5.module+el8.3.0+7187+a27ec44b0:1.17.3-5.module+el8.3.0+7187+a27ec44b

+96

Тот же продукт

pyyaml: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2020-14343A vulnerability was discovered in the PyYAML library in versions before 5.4, where it is susceptible to arbitrary code execution when it pro
    41В плане
  • CVE-2020-1747A vulnerability was discovered in the PyYAML library in versions before 5.3.1, where it is susceptible to arbitrary code execution when it p
    41В плане
  • CVE-2017-18342In PyYAML before 5.1, the yaml.load() API could execute arbitrary code if used with untrusted data.
    41В плане

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
almalinux:python38-asn1crypto1.2.0-3.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python38-cffi1.13.2-3.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python38-chardet3.0.4-19.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python38-cryptography2.8-3.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python38-Cython0.29.14-4.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python38-idna2.8-6.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python38-markupsafe1.1.1-6.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python38-mod_wsgi4.6.8-3.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python38-psycopg22.8.4-4.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python38-psycopg2-doc2.8.4-4.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python38-psycopg2-tests2.8.4-4.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python38-pycparser2.19-3.module_el8.6.0+2778+cd494b30 · AlmaLinux:8Реестр пакетов (OSV)
debian:pyyaml5.2-1 · Debian:12Реестр пакетов (OSV)
PyPI:pyyaml5.2Реестр пакетов (OSV)
PyPI:pyyaml5.2b1Реестр пакетов (OSV)
red hat:babel0:2.7.0-10.module+el8.2.0+5234+f98739b6 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:Cython0:0.29.14-4.module+el8.2.0+5234+f98739b6 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:Cython-debugsource0:0.29.14-4.module+el8.2.0+5234+f98739b6 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:mod_wsgi0:4.6.8-3.module+el8.2.0+5234+f98739b6 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:numpy0:1.17.3-5.module+el8.3.0+7187+a27ec44b · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:numpy-debugsource0:1.17.3-5.module+el8.3.0+7187+a27ec44b · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:python-asn1crypto0:1.2.0-3.module+el8.2.0+5234+f98739b6 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:python-cffi0:1.13.2-3.module+el8.2.0+5234+f98739b6 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:python-cffi-debugsource0:1.13.2-3.module+el8.2.0+5234+f98739b6 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:python-PyMySQL0:0.9.3-3.module+el8.2.0+5234+f98739b6 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:PyYAML0:5.3.1-1.module+el8.3.0+7187+a27ec44b · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:PyYAML-debugsource0:5.3.1-1.module+el8.3.0+7187+a27ec44b · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
rocky linux:babel0:2.7.0-10.module+el8.4.0+570+c2eaf144 · Rocky Linux:8Реестр пакетов (OSV)
rocky linux:Cython0:0.29.14-4.module+el8.4.0+570+c2eaf144 · Rocky Linux:8Реестр пакетов (OSV)
rocky linux:mod_wsgi0:4.6.8-3.module+el8.4.0+570+c2eaf144 · Rocky Linux:8Реестр пакетов (OSV)

+9

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Среди источников нет ссылок на коммит или PR.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Действия пользователя не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
высокое · данные могут быть прочитаны
Целостность
высокое · данные или конфигурация могут быть изменены
Доступность
высокое · работа сервиса может быть нарушена
Вектор атаки
Сеть
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Высокое
Влияние на целостность
Высокое
Влияние на доступность
Высокое

Класс уязвимости (CWE)

CWE-502 · Deserialization of Untrusted Data

Вектор CVSS

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

nvd-primary

Первопричина

Данные, полученные по сети, десериализуются в собственный объектный формат языка без проверки источника. Во время десериализации могут быть задействованы пути выполнения кода внутри объекта.

Ошибка в коде

Весь класс CWE-502

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

python
payload = sock.recv(65536)job = pickle.loads(payload)

Исправленный код

python
payload = sock.recv(65536)if not hmac.compare_digest(sign(payload), header_sig):    raise PermissionError("недействительная подпись")job = JobSchema.validate(json.loads(payload))

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

Техники ATT&CK

—

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Показать все источники (ещё 2)

Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.

Все записи