CVE-2026-71231
KrytyczneCVSS 9.8Streszczenie
IOTSmartHome ma podatność na wstrzykiwanie SQL w funkcji checkCookie() w gui/login.php, gdzie zapytanie uwierzytelniające jest budowane po base64-dekodowaniu ciasteczka lastLogin dostarczonego przez klienta, bez sanityzacji zdekodowanej wartości przed konkatenacją do zapytania SQL. Nieuwierzytelniony atakujący może ustawić ciasteczko lastLogin zawierające base64-zakodowany payload wstrzyknięcia SQL, aby ominąć uwierzytelnianie i, poprzez wstrzyknięcie UNION, wyodrębnić dowolne dane, w tym dane uwierzytelniające użytkowników.
Ocena ryzyka
Atakujący może ominąć uwierzytelnianie i uzyskać dostęp do danych użytkowników, co może prowadzić do naruszenia poufności i integralności danych.
Rekomendacja
Należy zastosować parametryzowane zapytania SQL lub odpowiednie escapowanie, a także dodać walidację danych wejściowych.
Oryginalny opis (angielski, źródło NVD)
IOTSmartHome's gui/login.php checkCookie() function builds an authentication query as SELECT * FROM users WHERE ID='<decoded lastLogin cookie>' after base64-decoding the client-supplied lastLogin cookie via safe_decode(), which performs URL-safe base64 decoding with no sanitization of the decoded value before it is concatenated into the SQL string. An unauthenticated attacker can set a lastLogin cookie containing a base64-encoded SQL injection payload (e.g. base64("' OR '1'='1")) to bypass authentication and, via UNION-based injection, extract arbitrary data including user credentials.

