CVE-2026-71260 PUBLISHED

ESPHome web_server Plaintext Password Disclosure via JSON "value" Field

Assigner: TuranSec
Reserved: 05.08.2026 Published: 05.08.2026 Updated: 05.08.2026

ESPHome through 2026.7.0-dev discloses plaintext passwords via its web_server component. In WebServer::text_json_() (esphome/components/web_server/web_server.cpp), a text entity configured with mode: password (TEXT_MODE_PASSWORD) has its JSON "state" field correctly masked as "**", but the same serialization path unconditionally writes the raw password into the JSON "value" field via set_json_icon_state_value()/set_json_value(). Because web_server listens on port 80 with no authentication by default, any attacker on the local network can retrieve the plaintext password (e.g. WiFi credentials, API tokens) via GET /text/<entity_id> or the /events EventSource stream.

Metrics

CVSS Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS Score: 6.5

Product Status

Vendor esphome
Product esphome
Versions Default: unaffected
  • affected from 0 to 2026.7.0 (incl.)

Credits

  • Alibek Baxtiyorov finder

References

Problem Types

  • CWE-522 CWE