Ad

CVE-2026-71259

HIGH CVSS 3.1: 8,6 EPSS 0.12%
Обновлено 10 августа 2026
Python
Параметр Значение
CVSS 8,6 (HIGH)
Тип уязвимости CWE-184
Поставщик Python
Публичный эксплойт Нет

ESPHome до 2026.7.0-dev содержит ошибку приоритета операторов в валидаторе cv.url() в esphome/config_validation.py: `if parsed.scheme и parsed.netloc или parsed.scheme == "file": return parsed.geturl()`. Поскольку `and` связывается сильнее, чем `or`, любой file: URI проходит проверку независимо от netloc. Этот валидатор блокирует поле `url:` исходной схемы git директивы external_comComponents YAML, которое передается в `git clone` (git изначально поддерживает file://).

Созданный блок `external_comComponents` с `url: "file:///attacker/repo"` клонирует контролируемый злоумышленником локальный путь, который затем добавляется в механизм импорта Python через загрузчик компонентов ESPHome, выполняя произвольный код Python при обработке конфигурации YAML (например, через `esphome config`/`esphome run`).

Показать оригинальное описание (EN)

ESPHome through 2026.7.0-dev contains an operator-precedence bug in the cv.url validator in esphome/config_validation.py. Because binds tighter than , any file: URI passes validation regardless of netloc. This validator gates the field of the external_components YAML directive's git source schema, which is passed to (git supports file:// natively).

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Требуется
Нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Тип уязвимости (CWE)