Skip to main content

IOTSmartHome CVE-2026-71231

| EUVDEUVD-2026-53304 CRITICAL
SQL Injection (CWE-89)
2026-08-05 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c GHSA-hchq-288f-9hjc
9.8
CVSS 3.1 · Vendor: 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c
Share

Severity by source

Vendor (309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
9.1 CRITICAL

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c).

CVSS VectorVendor: 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Analysis Generated
Aug 05, 2026 - 11:32 vuln.today
CVE Published
Aug 05, 2026 - 11:16 cve.org
CRITICAL 9.8

DescriptionCVE.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.

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.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

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

CVE-2012-1823 CRITICAL POC
9.8 May 11

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

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

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

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

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

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

Share

CVE-2026-71231 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy