Relacje katalogowe
Obsługiwane urządzenia
Home Assistant jest otwartym systemem automatyki uruchamianym lokalnie, z interfejsem webowym, silnikiem integracji, rejestrem urządzeń i encji, automatyką, historią oraz API. W katalogu bioreaktorów jego potwierdzone zastosowanie dotyczy społecznościowego mostka dla Brewtools FCS: firmware ESPHome na ESP32-C3 tłumaczy ramki CAN sensora gęstości i mieszadła na encje Home Assistant.
Home Assistant nie zastępuje fabrycznego sterownika FCS ani firmware urządzeń CAN. Pełni rolę systemu nadrzędnego dla niezależnego projektu lovekull76/brewtools-can-esphome: prezentuje pomiary, wysyła działania do encji i może uruchamiać automatyzacje. Połączenie jest lokalne, stałe i wykorzystuje szyfrowany ESPHome native API, a nie MQTT.
Najważniejsze dane
| Pole | Wartość |
|---|---|
| Opiekun projektu | Open Home Foundation / projekt Home Assistant |
| Typ | lokalna platforma integracyjna, automatyka, dashboard, historia i API |
| Bieżący Core sprawdzony dla karty | 2026.9.1, wydany 5 września 2026 r. |
| Home Assistant OS | 18.2 |
| Supervisor | 2026.09.0 |
| Frontend w Core 2026.9.1 | 20260826.6 |
| Wspierane typy instalacji | Home Assistant OS oraz Home Assistant Container |
| Minimalny Python Core 2026.9.1 | 3.14.2 |
| Licencja Core | Apache-2.0 |
| Lokalna opłata licencyjna / dongle | bez opłaty i bez sprzętowego klucza licencyjnego |
| Opcjonalny Home Assistant Cloud w UE | 7,50 EUR miesięcznie albo 75 EUR rocznie, VAT w cenie |
| HTTP/UI w Home Assistant OS od 2026.8 | domyślnie 80/TCP |
| HTTP/UI w Home Assistant Container | domyślnie 8123/TCP |
| REST API | /api/, JSON, Bearer access token |
| WebSocket API | /api/websocket, JSON i access token w fazie uwierzytelnienia |
| ESPHome native API | stałe połączenie do urządzenia, domyślnie 6053/TCP, opcjonalny Noise PSK |
| Domyślna baza historii | SQLite w /config/home-assistant_v2.db |
| Alternatywne bazy Recorder | MariaDB ≥10.3, MySQL ≥8.0, PostgreSQL ≥12 |
| Konfiguracja i stan | /config, pliki YAML, .storage, rejestry i baza Recorder |
| Biblioteka ESPHome w Core 2026.9.1 | aioesphomeapi==46.2.0 |
| Relacja w katalogu | Brewtools FCS poprzez niezależny most ESPHome |
| Najważniejsze CVE opisane w karcie | CVE-2026-64824, CVE-2026-64825, CVE-2026-34205, CVE-2026-54317, CVE-2026-64823, CVE-2025-62172, CVE-2025-25305, CVE-2023-27482, CVE-2023-41895, CVE-2023-41896 |
Core, OS, Supervisor, Container i frontend
Numery składników nie są wariantami jednego pliku. Tworzą warstwy o własnym cyklu aktualizacji:
| Składnik | Rola |
|---|---|
| Home Assistant Core | aplikacja Python: stany, encje, automatyzacje, integracje, API i Recorder |
| Home Assistant Frontend | aplikacja webowa obsługująca dashboardy i ustawienia |
| Home Assistant Supervisor | zarządza Core, aplikacjami, backupami i aktualizacjami w Home Assistant OS |
| Home Assistant OS | minimalny system operacyjny zawierający Supervisor i Core |
| Home Assistant Container | obraz OCI z Core uruchamiany na systemie i runtime zarządzanym przez operatora |
Home Assistant OS jest wdrożeniem appliance: system, Supervisor, Core i aplikacje aktualizuje się z jednego interfejsu. Home Assistant Container uruchamia Core w Dockerze lub innym runtime OCI, lecz host, sieć, storage, backup obrazu i aktualizacje pozostają po stronie operatora. Container nie udostępnia aplikacji Supervisora.
Samodzielna instalacja Core w środowisku Python i instalacja Home Assistant Supervised na zwykłym Debianie zakończyły oficjalne wsparcie po wydaniu 2025.12. Core nadal istnieje jako serce obu wspieranych wariantów i jako środowisko deweloperskie, ale nie jest już osobnym zalecanym typem produkcyjnej instalacji.
Wersje trzeba rejestrować oddzielnie. Stanowisko może mieć Core 2026.9.1, Supervisor 2026.09.0, HAOS 18.2 i frontend 20260826.6. Sam napis „Home Assistant 2026.9” nie wystarcza do oceny podatności obejmującej tylko Supervisor, OS, frontend, integrację albo aplikację mobilną.
Architektura integracji Brewtools
Łańcuch sterowania ma pięć głównych warstw:
operator / automatyzacja
↓
Home Assistant Core i rejestr encji
↓ ESPHome native API + Noise
ESP32-C3 z firmware brewtools-can-esphome
↓ CAN 1 Mbit/s
sensor gęstości/temperatury i mieszadło Brewtools
Core nie dekoduje ramek Brewtools. Robi to konfiguracja ESPHome na ESP32-C3. Home Assistant widzi już encje typu sensor, switch, number i button oraz przesyła do nich polecenia przez bibliotekę aioesphomeapi.
Manifest integracji ESPHome w Core 2026.9.1 podaje:
| Element | Wartość |
|---|---|
| klasa IoT | Local Push |
| quality scale | Platinum |
| biblioteka API | aioesphomeapi==46.2.0 |
| API Device Buildera | esphome-dashboard-api==1.4.0 |
| Bluetooth proxy | bleak-esphome==4.0.0 |
| zeroconf | _esphomelib._tcp.local. |
| discovery | zeroconf i DHCP |
| domyślny port urządzenia | 6053/TCP |
Integracja utrzymuje połączenie zamiast cyklicznie odpytywać sensor. Zmiany SG, temperatury, rpm i diagnostyki są wypychane z urządzenia. Home Assistant automatycznie ponawia połączenie po utracie łączności i może odnaleźć urządzenie przez mDNS.
Dane wpisu integracji ESPHome
Konfiguracja integracji jest config entry przechowywanym w .storage/core.config_entries. Dla urządzenia ESPHome obejmuje między innymi:
- host lub adres IP;
- port, domyślnie 6053;
- nazwę urządzenia;
- unikatowy identyfikator powiązany z urządzeniem;
noise_psk, jeśli native API ma włączone szyfrowanie;- historyczne pole hasła dla starszych urządzeń.
Core 2026.9.1 redaguje noise_psk, hasło i adresy MAC w eksporcie diagnostycznym integracji. Sam plik core.config_entries pozostaje jednak materiałem wrażliwym na dysku oraz w backupie. Klucz odpowiada bt_api_encryption_key z secrets.yaml firmware mostka i powinien być zabezpieczony po obu stronach.
W integracji dostępne są dwie ważne opcje. Allow the device to perform Home Assistant actions pozwala urządzeniu ESPHome wywoływać działania w Home Assistant i jest domyślnie wyłączona. Nie jest potrzebna do zwykłego sterowania encjami mostka z Home Assistant. Subscribe to logs from the device przesyła logi firmware do logera homeassistant.components.esphome i również jest opcją włączaną świadomie.
Encje mostka Brewtools
Snapshot lovekull76/brewtools-can-esphome wystawia następujący zakres:
| Grupa | Encje i działania |
|---|---|
| mieszadło | włączenie/wyłączenie, zadanie PWM, odczyt rpm |
| gęstość | skalibrowane SG, surowe SG, wartość referencyjna, kalibracja i start pomiaru |
| temperatura | temperatura brzeczki |
| diagnostyka | status, uptime, Wi-Fi RSSI, temperatura ESP, liczba ramek CAN, wersja ESPHome i build firmware |

Źródło: repozytorium lovekull76/brewtools-can-esphome, images/hass.jpeg. Ekran przedstawia encje faktycznie utworzone przez społecznościowy most: sterowanie mieszadłem, kalibrację, start pomiaru, SG i temperaturę.

Źródło: repozytorium lovekull76/brewtools-can-esphome, images/hass_2.jpeg. Widoczny węzeł jest połączony, używa ESPHome 2026.5.3 i raportuje build, liczbę ramek CAN, uptime, RSSI oraz temperaturę mikrokontrolera.
Stan encji Home Assistant nie jest autonomicznym potwierdzeniem stanu mechanicznego. W projekcie stan przełącznika i nastawa PWM są odtwarzane z flash ESP32-C3, a licznik ramek potwierdza odbiór ruchu CAN. Test procesu powinien korelować zmianę encji, ramkę CAN, rpm i obserwowany ruch mieszadła.
HTTP, frontend i porty
Home Assistant obsługuje frontend oraz API przez integrację HTTP. Od wydania 2026.8 domyślny port w Home Assistant OS to 80/TCP. W Home Assistant Container i klasycznych przykładach pozostaje 8123/TCP. Zmienna SETUP_PORT może nadpisać port startowy, a bieżące ustawienie jest widoczne w Settings → System → Network.
| Usługa | Port / ścieżka | Rola |
|---|---|---|
| frontend i HTTP | 80/TCP w HAOS albo 8123/TCP w Container | logowanie, dashboard, ustawienia i zasoby |
| REST API | ten sam port, /api/ |
JSON oraz wywołania stanów i działań |
| WebSocket API | ten sam port, /api/websocket |
strumień stanów, zdarzeń i komendy frontendu |
| ESPHome native API | 6053/TCP na ESP32-C3 | telemetria i sterowanie encjami mostka |
| mDNS | 5353/UDP | discovery _esphomelib._tcp.local. i innych usług lokalnych |
REST wymaga nagłówka Authorization: Bearer TOKEN. WebSocket najpierw wysyła auth_required; klient odpowiada wiadomością auth z access_token, po czym otrzymuje auth_ok albo auth_invalid. Numer wersji Core pojawia się w fazie uwierzytelnienia WebSocket.
Certyfikat i klucz TLS mogą być skonfigurowane bezpośrednio w integracji HTTP. Przy reverse proxy Home Assistant wymaga use_x_forwarded_for oraz jawnej listy trusted_proxies; niezaufany proxy-header jest odrzucany. Ustawienia portu i HTTP wprowadzane z UI wymagają potwierdzenia administratora po restarcie, a bez potwierdzenia w ciągu pięciu minut system wraca do poprzedniej konfiguracji.
REST, WebSocket i zakres tokenu
Long-lived access token jest tworzony w profilu użytkownika i dziedziczy jego uprawnienia. API nie ma osobnego globalnego hasła. OAuth 2 z rozszerzeniem IndieAuth jest stosowany do autoryzowania aplikacji, a po zalogowaniu użytkownik otrzymuje access token i refresh token.
Kontekst użytkownika jest przekazywany do wywołań działań i zdarzeń. Kontrola uprawnień może obejmować operacje read, control i edit na encji. Endpoint administracyjny powinien dodatkowo wymagać is_admin; dotyczy to zarówno REST, jak i komend WebSocket.
Dla mostka Brewtools oznacza to, że token używany przez skrypt zewnętrzny może sterować encjami mieszadła, jeżeli konto ma prawo control. Wydzielone konto integracyjne z ograniczonym zakresem jest łatwiejsze do odwołania i audytu niż token właściciela. Identyfikator użytkownika zapisany w kontekście pomaga powiązać działanie z klientem, lecz automatyzacje mogą działać bez bezpośredniego kontekstu człowieka.
Konta, role i MFA
Home Assistant nie ma fabrycznego loginu ani domyślnego hasła. Pierwszy użytkownik jest tworzony podczas onboardingu i staje się właścicielem. Wbudowany provider przechowuje dane uwierzytelnienia w /config/.storage/auth_provider.homeassistant, a użytkowników, grupy i tokeny w /config/.storage/auth. Hasła są solone i hashowane.
| Poziom | Zakres |
|---|---|
| owner | pełny dostęp, zarządzanie użytkownikami; uprawnienia nie ograniczają właściciela |
| administrator | konfiguracja integracji, urządzeń i ustawień systemowych oraz zarządzanie użytkownikami |
| non-admin user | używanie encji i własnych dashboardów bez dostępu do ustawień systemowych |
Każde logowanie urządzenia tworzy refresh token. Nieużywany refresh token jest usuwany po 90 dniach; do stałej integracji przeznaczony jest long-lived access token. Zmiana hasła może wymusić wylogowanie pozostałych sesji. Tokeny można odwoływać z profilu.
Wbudowany moduł TOTP jest automatycznie dostępny, jeśli konfiguracja nie definiuje innego zestawu auth_mfa_modules. Sekret TOTP trafia do .storage/auth_module.totp. Moduł Notify MFA może przechowywać swój stan w .storage/auth_module.notify. Dokładny czas systemowy ma znaczenie dla weryfikacji kodów TOTP.
Provider trusted_networks pozwala ominąć wpisywanie hasła dla określonych sieci. Użyty bez zapasowego type: homeassistant pozwala każdemu klientowi z zaufanej sieci wybrać użytkownika bez hasła. W sieci obejmującej urządzenia laboratoryjne taka konfiguracja rozszerza zaufanie na każdy host w podanym CIDR.
Pliki w /config i .storage
Home Assistant OS używa /config; w Container jest to katalog zamontowany do kontenera jako config volume. Do istotnych artefaktów należą:
| Artefakt | Zawartość |
|---|---|
configuration.yaml |
główna konfiguracja i część integracji deklarowanych ręcznie |
secrets.yaml |
wartości używane przez !secret; plik rozdziela sekrety, ale ich nie szyfruje |
automations.yaml, scripts.yaml, scenes.yaml |
logika wykonawcza tworzona w UI lub ręcznie |
.storage/auth |
użytkownicy, grupy, credential IDs i tokeny |
.storage/auth_provider.homeassistant |
hashe haseł lokalnego providera |
.storage/auth_module.totp |
sekrety i powiązania modułu TOTP |
.storage/core.config_entries |
wpisy integracji, w tym host, port i Noise PSK ESPHome |
.storage/core.device_registry |
urządzenia i identyfikatory integracji |
.storage/core.entity_registry |
encje, nazwy, wyłączenia i powiązania z urządzeniami |
.storage/core.area_registry, core.floor_registry |
odwzorowanie lokalizacji logicznych |
.storage/core.restore_state |
ostatnie stany używane przy odtwarzaniu encji |
.storage/trace.saved_traces |
zachowane ślady automatyzacji i skryptów |
home-assistant_v2.db |
domyślna baza stanów, zdarzeń i statystyk Recorder |
home-assistant.log |
bieżący log Core w typowej konfiguracji |
ip_bans.yaml |
adresy zablokowane przez ochronę HTTP |
www/ |
pliki wystawiane jako /local/ bez uwierzytelnienia |
secrets.yaml nie szyfruje wartości. Chroni przed przypadkowym umieszczeniem haseł w głównej konfiguracji, ale każda osoba z odczytem katalogu nadal uzyskuje ich treść. Dodatkowo sekrety używane w automatyzacjach mogą być widoczne administratorom przez źródło YAML i trace viewer.
Recorder i bazy danych
Recorder zapisuje każdą zmianę stanu oraz wybrane zdarzenia. Historia, Activity, wykresy i statystyki długoterminowe czytają te dane. Domyślnym i rekomendowanym silnikiem jest SQLite, a baza znajduje się w /config/home-assistant_v2.db.
| Silnik | Minimalna wersja wskazana w dokumentacji |
|---|---|
| SQLite | 3.40.1 |
| MariaDB | 10.3 |
| MySQL | 8.0 |
| PostgreSQL | 12 |
Zewnętrzny backend ustawia się przez recorder.db_url. Home Assistant używa SQLAlchemy, lecz oficjalnie wspiera wymienione silniki. Migracja istniejącej historii pomiędzy bazami nie jest funkcją Recorder; przy zmianie backendu trzeba osobno zaplanować zachowanie materiału historycznego.
Dla mostka Brewtools baza może zawierać przebiegi SG, temperatury, rpm, PWM, statusu połączenia i diagnostyki. Retencję można ograniczać przez include/exclude oraz purge. Przy SQLite uszkodzona baza może zostać odłożona, a Core utworzy nową, aby wrócić do pracy; dokumentacja zaleca wolne miejsce co najmniej 2,5-krotnie większe od bazy dla tej procedury.

Źródło: Home Assistant 2026.9 — „How full is your network storage?”, oficjalny zrzut wydania. Panel pokazuje udziały backup, media i documents wraz z pojemnością i progami wizualnymi 85%/95%.
Backupi i SecureTar v3
Backup jest dostępny w Home Assistant OS i Container. Automatyczne kopie można planować z UI, ustalać retencję, wykonywać kopię przed aktualizacją i kierować ją lokalnie, na udział sieciowy albo do dostawcy obsługiwanego przez integrację.
Od Home Assistant 2026.4 nowe zaszyfrowane kopie używają SecureTar v3:
| Element | Mechanizm |
|---|---|
| KDF | Argon2id, osobne podklucze dla części backupu |
| szyfrowanie i integralność | libsodium secretstream / XChaCha20-Poly1305 |
| klucz AEAD | 256 bitów |
| materiał odzyskiwania | backup emergency kit z kluczem szyfrującym |
Trail of Bits przeprowadziło niezależny audyt. Wykryto trzy zagadnienia: porównanie podatne na analizę czasową o znaczeniu informacyjnym, niebezpieczny fallback parsera do starego formatu oraz ryzyko supply-chain w GitHub Actions. Przegląd poprawek potwierdził zamknięcie wszystkich trzech.
Emergency kit musi być przechowywany poza instancją. Zaszyfrowany backup bez tego klucza nie odtworzy systemu. Home Assistant Cloud przechowuje jeden zaszyfrowany backup do 5 GB w ramach subskrypcji. Kopia na tym samym nośniku co /config nie zabezpiecza przed awarią dysku ani przejęciem hosta.
Aktualizacje i rollback
Home Assistant OS pozwala osobno aktualizować OS, Supervisor, Core i aplikacje. Container wymaga pobrania nowego obrazu oraz ponownego uruchomienia kontenera przez operatora. Release notes zawierają zmiany niekompatybilne i wersje wymaganych bibliotek/integracji.
Od Core 2026.9 instalowanie, pomijanie i czyszczenie pominięcia aktualizacji wymaga konta administratora. Skrypt uruchomiony ręcznie działa w kontekście użytkownika i respektuje tę kontrolę; automatyzacja działa bez kontekstu użytkownika. To rozróżnienie powinno zostać uwzględnione w audycie ścieżki zmiany wersji.
Aktualizacja Home Assistant nie aktualizuje automatycznie firmware ESPHome na ESP32-C3 ani firmware urządzeń CAN Brewtools. Po wdrożeniu trzeba sprawdzić co najmniej cztery wersje: Core, bibliotekę aioesphomeapi, firmware mostka i firmware węzłów Brewtools.
Home Assistant Cloud, cena i zdalny dostęp
Home Assistant działa lokalnie bez subskrypcji. Home Assistant Cloud jest opcjonalną usługą Nabu Casa zapewniającą zdalny adres bez przekierowania portu, połączenia z Amazon Alexa i Google Assistant, usługi głosowe, webhooki, WebRTC oraz off-site backup.
| Region | Miesięcznie | Rocznie |
|---|---|---|
| Unia Europejska | 7,50 EUR z VAT | 75 EUR z VAT |
| USA / international | 6,50 USD bez lokalnego podatku | 65 USD bez lokalnego podatku |
| Wielka Brytania | 6,50 GBP z VAT | 65 GBP z VAT |
| Kanada | 8,70 CAD bez lokalnego VAT | 87 CAD bez lokalnego VAT |
Wydanie 2026.9 oferuje 31-dniowy okres próbny bez danych płatniczych. Cloud nie jest wymagany dla mostka Brewtools działającego przez lokalny native API. Zdalny dostęp przez Cloud przekazuje od 2026.9 rzeczywisty adres klienta do mechanizmu logowania, dzięki czemu blokady IP mogą rozróżniać źródła prób.
Alternatywą jest VPN. Bezpośrednie port-forwarding wymaga TLS oraz pełnego hardeningu HTTP. Reverse proxy musi być jedynym wpisanym trusted_proxy; szeroki CIDR pozwoliłby klientom podszyć się pod X-Forwarded-For i zakłócić logi albo blokady.
Ochrona HTTP
Integracja HTTP obsługuje:
- wybór adresów nasłuchu;
- certyfikat i klucz TLS;
- opcjonalny certyfikat klienta;
- profile TLS;
- CORS allowed origins;
X-Frame-Options;- automatyczne bany po ustalonej liczbie nieudanych logowań;
- listę zaufanych reverse proxy.
Po pierwszym banie powstaje /config/ip_bans.yaml z adresem i czasem UTC. Wartość login_attempts_threshold=-1 wyłącza tworzenie nowych automatycznych banów. W 2026.9 ruch przez Home Assistant Cloud zachowuje źródłowy adres klienta, więc ban nie blokuje wszystkich klientów tunelu jako jednego 127.0.0.1.
Katalog /config/www jest publikowany pod /local/ bez autoryzacji. Nie powinien zawierać logów, eksportów diagnostycznych, wykresów procesu, backupów, tokenów ani fotografii etykiet stanowiska przeznaczonych wyłącznie dla operatorów.
Bieżący interfejs 2026.9

Źródło: Home Assistant 2026.9 — „Active alerts and favorites for the Security dashboard”, oficjalny zrzut wydania. Ekran pokazuje konfigurację ulubionych encji oraz alarmów o poziomach Alert i Warning.
Dashboard nie nadaje encji dodatkowych uprawnień. Jest widokiem danych i działań dostępnych zalogowanemu użytkownikowi. W środowisku laboratoryjnym warto oddzielić dashboard obserwacyjny od konta administracyjnego i od widoku umożliwiającego zmianę PWM albo wysyłanie kalibracji.
Podatności Core, OS i Supervisora
Poniższe rekordy mają bezpośrednie znaczenie dla serwera Home Assistant albo wspieranego stosu OS/Supervisor. Core 2026.9.1, HAOS 18.2 i Supervisor 2026.09.0 są nowsze od wymienionych zakresów, lecz kopia obrazu lub backup mogą ujawnić starszy stan wdrożenia.
| Identyfikator | Typ i komponent | Zakres / poprawka |
|---|---|---|
| CVE-2026-64824 | path traversal podczas restore backupu przez symlink z absolutnym linkname, możliwość zapisu poza katalogiem i RCE w kontenerze działającym jako root |
Core starszy niż 2026.7.0; poprawione w 2026.7.0 |
| CVE-2026-64825 | zapis dowolnego pliku przez pole name w backup.json podczas uploadu w oknie onboardingu |
Core starszy niż 2026.6.0; poprawione w 2026.6.0 |
| CVE-2026-34205 / GHSA-gh5m-4m97-c95h | aplikacje z host-network wystawiały na LAN endpointy przeznaczone dla sieci wewnętrznej Supervisora | HAOS ≤17.1 i Supervisor ≤2026.03.1; Supervisor 2026.03.2 zamyka problem |
| CVE-2026-54317 / GHSA-x84v-g949-293w | endpoint GET integracji Konnected ujawniał stan przełączników i topologię stref bez uwierzytelnienia na LAN | Core starszy niż 2026.6.0 |
| CVE-2026-64823 | XSS w proxy obrazu integracji Shelly przez data: o typie text/html, z ryzykiem kradzieży tokenu i działań w tej samej domenie |
Core starszy niż 2026.5.4 |
| CVE-2026-33044 / GHSA-r584-6283-p7xc | stored XSS w Map card przez złośliwą nazwę encji | wydania 2020.02–2025.12; poprawka 2026.01 |
| CVE-2026-33045 / GHSA-46j8-vpx8-6p72 | stored XSS w history graph dla sensora remaining charge time | wydania 2025.02–2025.12; poprawka 2026.01 |
| CVE-2025-62172 / GHSA-mq77-rv97-285m | stored XSS w tooltipie wykresu przez nazwę encji energii | 2025.1.0–2025.10.1; poprawka 2025.10.2 |
| CVE-2025-65713 | path traversal w integracji Downloader przy łączeniu ścieżek | Core starszy niż 2025.8.0 |
| CVE-2025-25305 / GHSA-m3pm-rpgg-5wj6 | wyłączenie weryfikacji certyfikatu TLS w części wywołań Core i bibliotek po błędnej migracji parametru aiohttp | Core starszy niż 2024.1.6 |
| CVE-2023-27482 / GHSA-2j8f-h4mr-qr25 | zdalne obejście uwierzytelnienia Supervisor API przez Home Assistant | Supervisor z historycznego zakresu przed poprawkami marca 2023 oraz Core starszy niż 2023.3.2 |
| CVE-2023-41895 / GHSA-jvxq-x42r-f7mv | javascript: w ścieżce auth_callback, XSS i pełne przejęcie konta/instancji |
Core starszy niż 2023.9.0 |
| CVE-2023-41896 / GHSA-cr83-q7r2-7f5q | frontend mógł zostać skierowany do fałszywego serwera WebSocket, a odpowiedzi prowadziły do XSS i przejęcia | Core starszy niż 2023.8.0; home-assistant-js-websocket starszy niż 8.2.0 |
| CVE-2023-41894 / GHSA-wx3j-3v2j-rf45 | webhook oznaczony jako local-only był dostępny przez publiczny tunel SniTun | Core starszy niż 2023.9.0 |
Tabela obejmuje podatności platformy, a nie automatycznie konkretnego mostka. Na przykład Konnected i Shelly są osobnymi integracjami, ale pokazują, że lokalne urządzenie lub jego nazwa/dane mogą przekroczyć granicę zaufania i wpłynąć na domenę frontendu.
Companion Apps i oddzielne wersje
Aplikacje mobilne mają własne wydania i własne CVE. Nie można uznać ich za zaktualizowane na podstawie wersji Core.
| Identyfikator | Skutek | Poprawiony zakres |
|---|---|---|
| CVE-2026-66061 / GHSA-j23v-9672-677j | iOS przekazywał tag NFC/QR do Home Assistant bez potwierdzenia, umożliwiając ciche uruchomienie automatyzacji | iOS 2026.5.0 |
| CVE-2026-66060 / GHSA-2xqv-hwrf-983f | analogiczne wywołanie tagu przez niezaufaną aplikację Android | oficjalny rekord wskazuje poprawkę aplikacji Android 2026.8.1 |
| CVE-2026-59717 / GHSA-68f4-97mf-f68w | deep link homeassistant://invite nie prezentował hosta i umożliwiał phishing poświadczeń |
Android 2026.6.1 |
| CVE-2026-54318 / GHSA-77r5-pw5w-mgj3 | wyeksportowany BroadcastReceiver pozwalał lokalnej aplikacji sfałszować lokalizację i uruchomić automatykę strefową | Android 2026.5.3 |
| CVE-2026-44698 / GHSA-7jp2-p2fw-mgvf | dostęp cross-origin iframe do mostu JavaScript WebView i wyciek access tokenu | iOS 2026.4.1, Android 2026.4.4 |
| CVE-2026-55844 / GHSA-cm5v-547m-qh5h | iOS ignorował allowlistę SSID dla internal URL, co mogło ujawnić token w obcej sieci | iOS 2025.5.0 |
Jeżeli aplikacja mobilna może sterować mieszadłem, jej token i mechanizmy deep-link/tag są częścią powierzchni sterowania procesem. W akwizycji należy zapisać wersję aplikacji, identyfikator refresh tokenu, skonfigurowany internal/external URL i automatyzacje reagujące na lokalizację, NFC lub QR.
Granice komponentów zewnętrznych
HACS, custom integrations, custom dashboard cards i aplikacje Supervisora wykonują kod spoza Core. Ich CVE nie są CVE Home Assistant Core. Przykładowo historyczne CVE-2021-47942 dotyczy HACS, a seria CVE-2026-53453–CVE-2026-53458 dotyczy zewnętrznego Blueprint Studio. Obecność tych komponentów trzeba ustalić z /config/custom_components, zasobów dashboardu, rejestru aplikacji i backupu.
Każda integracja może rozszerzyć API, storage i połączenia wychodzące. Baseline bez listy niestandardowych komponentów jest niepełny, nawet gdy Core ma bieżącą wersję.
Baseline i akwizycja
Dla stanowiska Home Assistant połączonego z Brewtools warto utrwalić:
- typ instalacji oraz wersje Core, frontend, OS, Supervisor i aplikacji;
- obraz dysku lub wolumenu
/configwraz z metadanymi systemu plików; configuration.yaml, wszystkie pliki dołączane isecrets.yamlw oddzielnym zaszyfrowanym materiale;.storage/auth,auth_provider.homeassistant, moduły MFA icore.config_entries;- rejestry urządzeń, encji, obszarów i pięter;
- automatyzacje, skrypty, sceny i zapisane trace;
- bazę Recorder wraz z WAL/SHM albo dane zewnętrznego backendu;
home-assistant.log, logi kontenera, Supervisora, proxy i Cloud;- listę tokenów, klientów OAuth, Companion Apps i daty ostatniego użycia;
- ustawienia HTTP, TLS,
trusted_proxies, CORS, IP bans i external/internal URL; - wpis ESPHome: host, port, identyfikator urządzenia i zabezpieczony Noise PSK;
- wersję
aioesphomeapi, firmware ESPHome i hash konfiguracji mostka; - historię SG, temperatury, rpm, PWM oraz dostępności urządzenia;
- listę custom integrations, HACS, custom cards i aplikacji Supervisora;
- zaszyfrowany backup, emergency kit i próbę odtworzenia w odizolowanym środowisku.
Korelacja czasu powinna objąć Core, ESP32-C3 i urządzenia Brewtools. Automatyzacja może zmienić PWM bez interaktywnej sesji użytkownika, a ESP32-C3 może odtworzyć nastawę po restarcie. Dlatego baza stanów, trace automatyzacji, log native API i przechwycony CAN są komplementarne.
Materiały i pliki do pobrania
| Materiał | Zastosowanie | Link |
|---|---|---|
| Home Assistant Core 2026.9.1 | źródła dokładnego wydania opisanego w karcie | release GitHub |
| Obraz Home Assistant Container | produkcyjny obraz OCI Core | GitHub Container Registry |
| Home Assistant OS 18.2 | obrazy appliance dla wspieranych platform | release GitHub |
| Home Assistant Supervisor 2026.09.0 | źródła i release warstwy zarządzającej HAOS | release GitHub |
| Dokumentacja instalacji | porównanie Home Assistant OS i Container | oficjalna strona instalacji |
| Integracja ESPHome | konfiguracja hosta, portu, Noise PSK, opcji i encji | oficjalna dokumentacja |
| REST API | endpointy, JSON i Bearer token | dokumentacja deweloperska |
| WebSocket API | faza uwierzytelnienia, wiadomości i subskrypcje | dokumentacja deweloperska |
| SecureTar v3 | projekt biblioteki szyfrowania backupów | repozytorium GitHub |
| Security advisories | oficjalne GHSA projektu | Home Assistant Core Security Advisories |
| Most Brewtools | YAML ESPHome, encje, okablowanie i zrzuty | lovekull76/brewtools-can-esphome |
Powiązane urządzenia i oprogramowanie
- Brewtools FCS Fermentation Control System — urządzenia CAN i fabryczny kontroler;
- ESPHome — firmware mostka tłumaczącego CAN na native API.
Źródła
- Home Assistant 2026.9 release notes
- Home Assistant — installation types
- Home Assistant — deprecation of Core and Supervised
- Home Assistant — ESPHome integration
- Home Assistant — HTTP integration
- Home Assistant — authentication
- Home Assistant — authentication providers
- Home Assistant — multi-factor authentication
- Home Assistant Developer Docs — permissions
- Home Assistant — Recorder
- Home Assistant — backups
- Home Assistant — SecureTar v3
- Nabu Casa — Home Assistant Cloud pricing
- Home Assistant Core — GitHub Security Advisories
- NVD — Home Assistant CVE records