Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Network-reachable cookie injection, no auth or interaction (AV:N/AC:L/PR:N/UI:N); full credential read and auth bypass give C:H/I:H, but no described availability impact so A:N.
Primary rating from Vendor (309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c).
CVSS VectorVendor: 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c
Lifecycle Timeline
2DescriptionCVE.org
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.
Articles & Coverage 1
AnalysisAI
Authentication bypass and data exfiltration in IOTSmartHome's login component allow an unauthenticated attacker to submit a base64-encoded SQL injection payload via the lastLogin cookie, defeating login checks and reading arbitrary database contents including user credentials. The checkCookie() function in gui/login.php decodes the client-supplied cookie with URL-safe base64 (safe_decode()) and concatenates the result directly into a SQL query without sanitization. No public exploit is identified at time of analysis, but the trivial injection path (base64("' OR '1'='1")) and network reachability make weaponization straightforward.
Technical ContextAI
The affected code is a PHP web GUI (gui/login.php) backed by a SQL database with a users table keyed on an ID column. The vulnerability is a classic CWE-89 SQL Injection: the checkCookie() routine builds SELECT * FROM users WHERE ID='<value>' where <value> is the base64-decoded lastLogin cookie. Because safe_decode() only reverses URL-safe base64 encoding and applies no escaping, parameterization, or input validation, attacker-controlled SQL metacharacters (quotes, UNION, comments) survive into the query string. The base64 layer is not a security control - it is merely a transport encoding, and it conveniently lets an attacker smuggle characters that might otherwise be filtered or mangled in transit. Reference: the GitHub project at https://github.com/thebradleysanders/IOTSmartHome.
RemediationAI
No vendor-released patch or fixed version is identified at time of analysis. The primary fix is to rewrite checkCookie() to use parameterized queries / prepared statements (e.g. PDO or mysqli bound parameters) so the decoded cookie value is never concatenated into SQL - this fully closes the injection regardless of encoding. As interim compensating controls for self-hosted operators: restrict network access to the login/GUI endpoint (bind to localhost or place behind a VPN/reverse proxy with IP allowlisting), which prevents remote exploitation but breaks legitimate remote access; deploy a WAF rule to inspect the decoded lastLogin cookie for SQL metacharacters and UNION/OR patterns, accepting that base64 encoding and WAF-evasion tricks can bypass naive signatures; and validate that safe_decode() output matches an expected format (e.g. numeric ID) before it reaches the query, rejecting anything containing quotes or SQL keywords. Monitor the repository at https://github.com/thebradleysanders/IOTSmartHome for an upstream fix.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
Same weakness CWE-89 – SQL Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53304
GHSA-hchq-288f-9hjc