Jeśli urządzenie z ESPHome przesyła dzienniki na serwer syslog, ten serwer mógł dostawać również hasła zapisane w urządzeniu. Poprawka Jonathana Swobody, scalona z gałęzią rozwojową ESPHome 23 października 2026, zamienia takie wartości na [redacted], zanim wiersz dziennika opuści urządzenie. Nie ma jej w wydaniu 2026.10.0 z 21 października, więc powinna trafić do ESPHome 2026.11.
Na ekranie ukryte, w sieci jawne
Poufne wartości ESPHome oznacza w dziennikach funkcją LOG_SECRET(). Niczego ona nie usuwa, tylko otacza wartość kodami sterującymi ANSI, które każą terminalowi ją ukryć. Tekst znika z ekranu, ale bajty dalej są w wierszu dziennika.
Na konsoli szeregowej nie ma to znaczenia. Komponent syslog wysyłał jednak każdy wiersz przez UDP w niezmienionej postaci. Opcja strip usuwa tylko kod koloru na początku wiersza i kod resetu na końcu, a ukryty tekst pośrodku zostaje. Według autora poprawki serwer syslog, a także każdy, kto mógł podsłuchać ruch między urządzeniem a serwerem, dostawał:
- hasło do Wi-Fi;
- hasło do MQTT;
- klucz prywatny WireGuard;
- hasło wpisane na stronie
/wifisavew portalu konfiguracyjnym.
Część z nich wypisuje dump_config, więc trafiały do sieci przy każdym uruchomieniu urządzenia.
Co zmienia poprawka
Komponent przegląda teraz każdą wiadomość i każdy ukryty fragment zastępuje napisem [redacted], zanim wiadomość trafi do pakietu syslog. Dzieje się to niezależnie od ustawienia strip. Jeśli w sekcji wifi: jest hasło, na serwer dotrze wiersz Password: [redacted].
Poprawka nie przydziela dodatkowej pamięci na stercie ani nie potrzebuje osobnego bufora, a wiadomość nadal mieści się w dotychczasowym pakiecie o rozmiarze 508 bajtów. Wiersze bez znaku sterującego, czyli prawie wszystkie, są obsługiwane szybciej niż wcześniej. Pięć nowych testów jednostkowych sprawdza zwykłe wiersze, jedną i kilka ukrytych wartości, niezamknięty znacznik oraz wiadomość, która dochodzi do limitu bufora.
Autor podaje, że to punkt 3.4 z audytu bezpieczeństwa ESPHome przeprowadzonego w 2026 roku.
Co zrobić już teraz
Problem dotyczy tylko urządzeń z sekcją syslog:. Dopóki nie ukaże się wersja 2026.11, trzeba zakładać, że dzienniki zapisane na serwerze zawierają te hasła. Warto ograniczyć dostęp do nich i rozważyć usunięcie starych wpisów. Jeśli dzienniki trafiały na serwer współdzielony albo zdalny, po aktualizacji dobrze jest też zmienić hasła do Wi-Fi i MQTT.