ESPHome through 2026.7.0-dev contains an operator-precedence bug in the cv.url() validator in...
概要
ESPHome through 2026.7.0-dev contains an operator-precedence bug in the cv.url() validator in...
原文の説明
取得元が公開している説明をそのまま載せています (多くは英語)。
ESPHome through 2026.7.0-dev contains an operator-precedence bug in the cv.url() validator in esphome/config_validation.py: if parsed.scheme and parsed.netloc or parsed.scheme == "file": return parsed.geturl(). Because and binds tighter than or, any file: URI passes validation regardless of netloc. This validator gates the url: field of the external_components YAML directive's git source schema, which is passed to git clone (git supports file:// natively). A crafted external_components block with url: "file:///attacker/repo" clones an attacker-controlled local path, which is then added to Python's import machinery via ESPHome's component loader, executing arbitrary Python code when the YAML configuration is processed (e.g. via esphome config/esphome run).
出典: NIST National Vulnerability Database NVD GitHub Advisory
AI要約
外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。
ESPHomeのバージョン2026.7.0-devまでに、cv.url()バリデータで演算子優先度のバグがあります。andはorよりも強く結びつくため、任意のfile: URIが検証を通過する可能性があります。このバグを利用すると、攻撃者が作成したローカルパスをクローンし、Pythonのインポート機構に追加して任意のPythonコードを実行できます。
ESPHomeのcv.url()バリデータでの演算子優先度バグ。
esphome/config_validation.py
任意のPythonコードを実行可能で深刻。
演算子優先度を修正し、or条件が期待通りに機能するようにする。
不正なfile: URIの使用を制限。
設定ファイル中の不正なfile: URIを確認する。
参照URL
- web github.com
- web github.com
- web nvd.nist.gov
- web github.com