Out of Memory issue in ProtocolBuffers for cpp and python
A parsing vulnerability for the MessageSet type in the ProtocolBuffers versions prior to and including 3.16.1, 3.17.3, 3.18.2, 3.19.4, 3.20.1 and 3.21.5 for protobuf-cpp, and versions prior to and including 3.16.1, 3.17.3, 3.18.2, 3.19.4, 3.20.1 and 4.21.5 for protobuf-python can lead to out of memory failures. A specially crafted message with multiple key-value per elements creates parsing issues, and can lead to a Denial of Service against services receiving unsanitized input. We recommend upgrading to versions 3.18.3, 3.19.5, 3.20.2, 3.21.6 for protobuf-cpp and 3.18.3, 3.19.5, 3.20.2, 4.21.6 for protobuf-python. Versions for 3.16 and 3.17 are no longer updated.
- Опубликовано
- 22 сент. 2022 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 1,5 % · 73-й процентиль
- CWE
- CWE-1286
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
30
Наблюдать
Пока низкий приоритет.
- CVSS
- 30 / 40 · 7.5 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 1,5 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- да
- Техническое влияние
- частичное
Vulnrichment: входные данные дерева решений CISA.
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| protobuf-cpp | cpe:2.3:a:google:protobuf-cpp | |
| protobuf-python | cpe:2.3:a:google:protobuf-python | |
| fedoraproject | fedora | cpe:2.3:o:fedoraproject:fedora |
| debian | debian linux | cpe:2.3:o:debian:debian_linux |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- debian debian linux10.0
- fedoraproject fedora36
- fedoraproject fedora37
- google protobuf-cpp3.21.0 и новее · до 3.21.6
- google protobuf-cppдо 3.18.3
- google protobuf-cpp3.19.0 и новее · до 3.19.5
- google protobuf-cpp3.20.0 и новее · до 3.20.2
- google protobuf-python4.0.0 и новее · до 4.21.6
- google protobuf-python3.20.0 и новее · до 3.20.2
- google protobuf-python3.19.0 и новее · до 3.19.5
- google protobuf-pythonдо 3.18.3
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Google). Не зависят от анализа CPE в NVD и обычно опережают его.
Google LLC protobuf-cpp
- unspecified и новее · до 3.16.1 включительнозатронута
- unspecified и новее · до 3.17.3 включительнозатронута
- unspecified и новее · до 3.18.2 включительнозатронута
- unspecified и новее · до 3.19.4 включительнозатронута
- unspecified и новее · до 3.20.1 включительнозатронута
- unspecified и новее · до 3.21.5 включительнозатронута
Google LLC protobuf-python
- unspecified и новее · до 3.16.1 включительнозатронута
- unspecified и новее · до 3.17.3 включительнозатронута
- unspecified и новее · до 3.18.2 включительнозатронута
- unspecified и новее · до 3.19.4 включительнозатронута
- unspecified и новее · до 3.20.1 включительнозатронута
- unspecified и новее · до 4.21.5 включительнозатронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| AlmaLinux:9 | protobuf | до 3.14.0-16.el9 | 3.14.0-16.el9 |
| AlmaLinux:9 | protobuf-compiler | до 3.14.0-16.el9 | 3.14.0-16.el9 |
| AlmaLinux:9 | protobuf-devel | до 3.14.0-16.el9 | 3.14.0-16.el9 |
| AlmaLinux:9 | protobuf-lite | до 3.14.0-16.el9 | 3.14.0-16.el9 |
| AlmaLinux:9 | protobuf-lite-devel | до 3.14.0-16.el9 | 3.14.0-16.el9 |
| AlmaLinux:9 | python3-protobuf | до 3.14.0-16.el9 | 3.14.0-16.el9 |
| Debian:10 | protobuf | до 3.6.1.3-2+deb10u1 | 3.6.1.3-2+deb10u1 |
| Debian:12 | protobuf | до 3.21.9-3 | 3.21.9-3 |
| PyPI | protobuf | с 3.19.0 · до 3.19.5 | 3.19.5 |
| PyPI | protobuf | с 3.20.0 · до 3.20.2 | 3.20.2 |
| PyPI | protobuf | с 4.0.0 · до 4.21.6 | 4.21.6 |
| PyPI | protobuf | до 3.18.3 | 3.18.3 |
| Red Hat:enterprise_linux:9::appstream | protobuf | до 0:3.14.0-16.el9 | 0:3.14.0-16.el9 |
| Red Hat:enterprise_linux:9::appstream | protobuf-compiler-debuginfo | до 0:3.14.0-16.el9 | 0:3.14.0-16.el9 |
| Red Hat:enterprise_linux:9::appstream | protobuf-debuginfo | до 0:3.14.0-16.el9 | 0:3.14.0-16.el9 |
| Red Hat:enterprise_linux:9::appstream | protobuf-debugsource | до 0:3.14.0-16.el9 | 0:3.14.0-16.el9 |
| Red Hat:enterprise_linux:9::appstream | protobuf-lite | до 0:3.14.0-16.el9 | 0:3.14.0-16.el9 |
| Red Hat:enterprise_linux:9::appstream | protobuf-lite-debuginfo | до 0:3.14.0-16.el9 | 0:3.14.0-16.el9 |
| Red Hat:enterprise_linux:9::appstream | python3-protobuf | до 0:3.14.0-16.el9 | 0:3.14.0-16.el9 |
| Red Hat:enterprise_linux:9::crb | protobuf-compiler | до 0:3.14.0-16.el9 | 0:3.14.0-16.el9 |
| Red Hat:enterprise_linux:9::crb | protobuf-devel | до 0:3.14.0-16.el9 | 0:3.14.0-16.el9 |
| Red Hat:enterprise_linux:9::crb | protobuf-lite-devel | до 0:3.14.0-16.el9 | 0:3.14.0-16.el9 |
| Rocky Linux:9 | protobuf | до 0:3.14.0-16.el9 | 0:3.14.0-16.el9 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | python-Automat | до 0.6.0-150000.3.4.1 | 0.6.0-150000.3.4.1 |
+63
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| almalinux:protobuf | 3.14.0-16.el9 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:protobuf-compiler | 3.14.0-16.el9 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:protobuf-devel | 3.14.0-16.el9 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:protobuf-lite | 3.14.0-16.el9 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:protobuf-lite-devel | 3.14.0-16.el9 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3-protobuf | 3.14.0-16.el9 · AlmaLinux:9 | Реестр пакетов (OSV) |
| debian:protobuf | 3.21.9-3 · Debian:12 | Реестр пакетов (OSV) |
| opensuse:protobuf | 3.9.2-150200.4.19.2 · openSUSE:Leap Micro 5.2 | Реестр пакетов (OSV) |
| PyPI:protobuf | 3.18.3 | Реестр пакетов (OSV) |
| PyPI:protobuf | 3.19.5 | Реестр пакетов (OSV) |
| PyPI:protobuf | 3.20.2 | Реестр пакетов (OSV) |
| PyPI:protobuf | 4.21.6 | Реестр пакетов (OSV) |
| red hat:protobuf | 0:3.14.0-16.el9 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:protobuf-compiler | 0:3.14.0-16.el9 · Red Hat:enterprise_linux:9::crb | Реестр пакетов (OSV) |
| red hat:protobuf-compiler-debuginfo | 0:3.14.0-16.el9 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:protobuf-debuginfo | 0:3.14.0-16.el9 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:protobuf-debugsource | 0:3.14.0-16.el9 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:protobuf-devel | 0:3.14.0-16.el9 · Red Hat:enterprise_linux:9::crb | Реестр пакетов (OSV) |
| red hat:protobuf-lite | 0:3.14.0-16.el9 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:protobuf-lite-debuginfo | 0:3.14.0-16.el9 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:protobuf-lite-devel | 0:3.14.0-16.el9 · Red Hat:enterprise_linux:9::crb | Реестр пакетов (OSV) |
| red hat:python3-protobuf | 0:3.14.0-16.el9 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| rocky linux:protobuf | 0:3.14.0-16.el9 · Rocky Linux:9 | Реестр пакетов (OSV) |
| suse:azure-cli-core | 2.17.1-150100.6.18.1 · SUSE:Linux Enterprise Module for Public Cloud 15 SP1 | Реестр пакетов (OSV) |
| suse:grpc | 1.25.0-150100.3.3.3 · SUSE:Linux Enterprise Module for Public Cloud 15 SP1 | Реестр пакетов (OSV) |
| suse:protobuf | 3.9.2-150200.4.19.2 · SUSE:Linux Enterprise Installer Updates 15 SP2 | Реестр пакетов (OSV) |
| suse:python-aiocontextvars | 0.2.2-150100.3.3.3 · SUSE:Linux Enterprise Module for Public Cloud 15 SP1 | Реестр пакетов (OSV) |
| suse:python-avro | 1.11.0-150100.3.3.3 · SUSE:Linux Enterprise Module for Public Cloud 15 SP1 | Реестр пакетов (OSV) |
| suse:python-cryptography | 3.3.2-150100.7.15.3 · SUSE:Linux Enterprise Module for Public Cloud 15 SP1 | Реестр пакетов (OSV) |
| suse:python-Deprecated | 1.2.13-150100.3.3.3 · SUSE:Linux Enterprise Module for Public Cloud 15 SP1 | Реестр пакетов (OSV) |
+4
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- нет
- Целостность
- нет
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Нет
- Влияние на целостность
- Нет
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-1286 · Improper Validation of Syntactic Correctness of InputВектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
nvd-primary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
Техники ATT&CK
—
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- www.openwall.com/lists/oss-security/2022/09/27/1
- cloud.google.com/support/bulletins#GCP-2022-019
- github.com/protocolbuffers/protobuf/security/advisories/GHSA-8gq9-2x98-w8hf
- lists.debian.org/debian-lts-announce/2023/04/msg00019.html
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CBAUKJQL6O4TIWYBENORSY5P43TVB4M3/
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/MPCGUT3T5L6C3IDWUPSUO22QDCGQKTOP/
- security.netapp.com/advisory/ntap-20240705-0001/
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.