W tym tygodniu do Home Assistanta trafiły dwie poprawki, które porządkują uprawnienia użytkowników. Żadna nie wymaga zmian w konfiguracji, ale obie są ważne, jeśli z serwera korzysta więcej niż jedna osoba.
Usunięte konto mogło dalej wysyłać polecenia
Do tej pory usunięcie użytkownika nie kończyło jego aktywnych sesji. Home Assistant kasował tokeny odświeżania konta, ale nie wywoływał funkcji, które je unieważniają, a to właśnie one zamykają otwarte połączenia WebSocket. Usunięty administrator mógł więc wysyłać polecenia z uprawnieniami administratora tak długo, jak trwało jego wcześniejsze połączenie, na przykład w otwartej karcie przeglądarki albo w działającej aplikacji na telefonie.
Poprawka Francka Nijhofa (zmiana #186558 w repozytorium Core) trafiła do kodu 15 października 2026. Przed usunięciem konta Home Assistant unieważnia teraz wszystkie tokeny odświeżania użytkownika. Tak samo działała już dezaktywacja konta, więc problem dotyczył wyłącznie usuwania. Nijhof natrafił na ten błąd przy pracy nad nową integracją o nazwie Debug console.
Poprawka jest przypisana do wydania Home Assistant Core 2026.10.2, zaplanowanego na 16 października. Zespół Home Assistanta stara się publikować wydania poprawkowe w piątki. Do tego czasu wystarczy prosty sposób, który wynika z opisu zmiany: dezaktywacja już wcześniej zamykała połączenia konta, więc najpierw dezaktywuj konto, a dopiero potem je usuń.
Zwykły użytkownik mógł otworzyć aplikację dla administratorów
Druga poprawka dotyczy Supervisora, czyli części Home Assistant OS i instalacji Supervised, która zarządza aplikacjami (dodatkami). Zwykli użytkownicy mogą w Core tworzyć sesje Ingress (mechanizmu, który otwiera interfejs aplikacji wewnątrz Home Assistanta), bo bez nich nie otworzyliby aplikacji dostępnych dla wszystkich. Pośrednik Ingress w Supervisorze sprawdzał jednak tylko, czy ciasteczko sesji jest ważne. Każdy zalogowany użytkownik mógł więc otworzyć interfejs dowolnej aplikacji, także takiej, która ma ustawienie panel_admin, czyli jest przeznaczona tylko dla administratorów.
Po zmianie Stefana Agnera (zmiana #7308 w repozytorium Supervisora) Supervisor sprawdza rolę użytkownika i odpowiada kodem HTTP 403, gdy sesja zwykłego użytkownika próbuje otworzyć aplikację dla administratorów. Core od wersji 2023.9 przesyła identyfikator użytkownika przy każdej sesji Ingress, więc ochrona zaczyna działać od razu po aktualizacji Supervisora, niezależnie od wersji Core. Sesje bez danych użytkownika są odrzucane, a sesje usuniętych lub dezaktywowanych kont tracą ważność przy najbliższym użyciu.
Zostaje jedno ograniczenie. Supervisor zapamiętuje rolę każdego użytkownika i odświeża ją, gdy ta osoba otwiera nową sesję albo gdy Supervisor uruchomi się ponownie. Jeśli odbierzesz komuś uprawnienia administratora, jego trwające sesje nie stracą ich od razu, tylko przy najbliższym odświeżeniu albo po wygaśnięciu sesji.
Zmiana weszła do Supervisora 2026.10.2, wydanego 14 października, i w informacjach o wydaniu figuruje jako zmiana niezgodna wstecz. 15 października kanał stabilny wciąż oferował wersję 2026.09.3, a 2026.10.2 była dostępna w kanale beta. Supervisor aktualizuje się sam, gdy nowa wersja trafi do kanału stabilnego.
Instalacje Home Assistant Container i Core nie mają Supervisora ani aplikacji, więc druga luka ich nie dotyczy. Pierwsza dotyczy wszystkich rodzajów instalacji.