CVE-2026-71259 in ESPHome
الملخص
بحسب VulDB • 05/08/2026
يحتوي ESPHome حتى الإصدار 2026.7.0-dev على خطأ في أولوية المشغلين (operator-precedence bug) في مُحقّق صحة البيانات cv.url() الموجود في الملف esphome/config_validation.py: `if parsed.scheme and parsed.netloc or parsed.scheme == "file": return parsed.geturl()`. ونظراً لأن العامل `and` يرتبط بقوة أكبر من `or`، فإن أي عنوان URI بصيغة file:// يمر بعملية التحقق بغض النظر عن قيمة netloc. يعمل هذا المُحقّق كبوابة لحقل `url:` في مخطط مصدر git الخاص بتوجيه YAML الخارجي external_components، والذي يتم تمريره إلى الأمر `git clone` (يدعم Git بنية ملف:// بشكل أصلي). يمكن لكتلة مُعدّة بعناية من `external_components` تحتوي على `url: "file:///attacker/repo"` أن تنسخ مساراً محكوماً به مهاجم، ثم يضاف هذا المسار إلى آلية استيراد Python عبر مكوّن التحميل في ESPHome، مما يؤدي إلى تنفيذ كود بايثون تعسفي عند معالجة تكوين YAML (على سبيل المثال، عبر `esphome config` أو `esphome run`).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.