Rustls vulnerable to an infinite loop in rustls::conn::ConnectionCommon::complete_io() with proper client input
Rustls is a modern TLS library written in Rust. `rustls::ConnectionCommon::complete_io` could fall into an infinite loop based on network input. When using a blocking rustls server, if a client send a `close_notify` message immediately after `client_hello`, the server's `complete_io` will get in an infinite loop. This vulnerability is fixed in 0.23.5, 0.22.4, and 0.21.11.
- BDU:2026-10564
- GHSA-6g7w-8wpp-frhj
- openSUSE-SU-2024:0130-1
- openSUSE-SU-2024:13893-1
- openSUSE-SU-2024:13903-1
- openSUSE-SU-2024:13904-1
- openSUSE-SU-2024:13912-1
- openSUSE-SU-2024:13917-1
- openSUSE-SU-2024:13961-1
- openSUSE-SU-2024:14424-1
- openSUSE-SU-2026:21558-1
- RUSTSEC-2024-0336
- SUSE-SU-2025:02809-1
- SUSE-SU-2025:02810-1
- SUSE-SU-2025:02811-1
- SUSE-SU-2025:03629-1
- SUSE-SU-2025:20057-1
- SUSE-SU-2026:3022-1
- Опубликовано
- 19 апр. 2024 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 0,9 % · 60-й процентиль
- CWE
- CWE-835
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
30
Наблюдать
Пока низкий приоритет.
- CVSS
- 30 / 40 · 7.5 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,9 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- да
- Техническое влияние
- частичное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · GitHub_M
- 7,5
- NVD ещё не выставил свою оценку; показана оценка CNA.
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| rustls project | rustls | cpe:2.3:a:rustls_project:rustls |
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.
rustls rustls
- >= 0.23.0, < 0.23.5, >= 0.22.0, < 0.22.4, >= 0.21.0, < 0.21.11, = 0.20.0затронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| crates.io | rustls | с 0.0.0-0 · до 0.21.11 | 0.21.11 |
| crates.io | rustls | с 0.21.0 · до 0.21.11 | 0.21.11 |
| crates.io | rustls | с 0.22.0 · до 0.22.4 | 0.22.4 |
| crates.io | rustls | с 0.23.0 · до 0.23.5 | 0.23.5 |
| crates.io | rustls | все версии | — |
| Debian:12 | rust-rustls | все версии | — |
| Debian:13 | rust-rustls | до 0.21.12-1 | 0.21.12-1 |
| openSUSE:Leap 16.0 | gitoxide | до 0.56.0-bp160.1.1 | 0.56.0-bp160.1.1 |
| openSUSE:Tumbleweed | gitoxide | до 0.38.0-1.1 | 0.38.0-1.1 |
| openSUSE:Tumbleweed | kubetui | до 1.5.1-1.1 | 1.5.1-1.1 |
| openSUSE:Tumbleweed | sccache | до 0.8.0~3-1.1 | 0.8.0~3-1.1 |
| openSUSE:Tumbleweed | shadowsocks-rust | до 1.18.3-1.1 | 1.18.3-1.1 |
| openSUSE:Tumbleweed | teleport | до 15.2.4-1.1 | 15.2.4-1.1 |
| openSUSE:Tumbleweed | tlrc | до 1.9.2+0-1.1 | 1.9.2+0-1.1 |
| openSUSE:Tumbleweed | topgrade | до 14.0.1-2.1 | 14.0.1-2.1 |
| SUSE:Linux Enterprise Micro 5.3 | rust-keylime | до 0.2.7+141-150400.3.7.1 | 0.2.7+141-150400.3.7.1 |
| SUSE:Linux Enterprise Micro 5.4 | rust-keylime | до 0.2.7+141-150400.3.5.1 | 0.2.7+141-150400.3.5.1 |
| SUSE:Linux Enterprise Micro 5.5 | rust-keylime | до 0.2.7+141-150500.3.5.1 | 0.2.7+141-150500.3.5.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | gstreamer-plugins-rs | до 0.12.11-150600.3.3.1 | 0.12.11-150600.3.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | gstreamer-plugins-rs | до 0.12.11-150600.3.3.1 | 0.12.11-150600.3.3.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP7 | sccache | до 0.16.0~0-150600.10.11.1 | 0.16.0~0-150600.10.11.1 |
| SUSE:Linux Micro 6.0 | rust-keylime | до 0.2.6+13-1.1 | 0.2.6+13-1.1 |
| SUSE:Package Hub 15 SP5 | git-cliff | до 2.2.2-bp155.2.3.1 | 2.2.2-bp155.2.3.1 |
| SUSE:Package Hub 15 SP5 | git-cliff | до 2.2.2-bp155.2.3.1 | 2.2.2-bp155.2.3.1 |
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| rustls rustls | 0.23.5 · description | Вендор (CNA) |
| crates.io:rustls | 0.21.11 | Реестр пакетов (OSV) |
| crates.io:rustls | 0.22.4 | Реестр пакетов (OSV) |
| crates.io:rustls | 0.23.5 | Реестр пакетов (OSV) |
| debian:rust-rustls | 0.21.12-1 · Debian:13 | Реестр пакетов (OSV) |
| opensuse:git-cliff | 2.2.2-bp155.2.3.1 · openSUSE:Leap 15.5 | Реестр пакетов (OSV) |
| opensuse:gitoxide | 0.38.0-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:gstreamer-plugins-rs | 0.12.11-150600.3.3.1 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kubetui | 1.5.1-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:sccache | 0.8.0~3-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:shadowsocks-rust | 1.18.3-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:teleport | 15.2.4-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:tlrc | 1.9.2+0-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:topgrade | 14.0.1-2.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| suse:git-cliff | 2.2.2-bp155.2.3.1 · SUSE:Package Hub 15 SP5 | Реестр пакетов (OSV) |
| suse:gstreamer-plugins-rs | 0.12.11-150600.3.3.1 · SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | Реестр пакетов (OSV) |
| suse:rust-keylime | 0.2.7+141-150400.3.7.1 · SUSE:Linux Enterprise Micro 5.3 | Реестр пакетов (OSV) |
| suse:sccache | 0.16.0~0-150600.10.11.1 · SUSE:Linux Enterprise Module for Development Tools 15 SP7 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- нет
- Целостность
- нет
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Нет
- Влияние на целостность
- Нет
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-835 · Loop with Unreachable Exit Condition ('Infinite Loop')Вектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
nvd-secondary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- github.com/rustls/rustls/commit/2123576840aa31043a31b0770e6572136fbe0c2d
- github.com/rustls/rustls/commit/6e938bcfe82a9da7a2e1cbf10b928c7eca26426e
- github.com/rustls/rustls/commit/f45664fbded03d833dffd806503d3c8becd1b71e
- github.com/rustls/rustls/security/advisories/GHSA-6g7w-8wpp-frhj
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.