Executive brief
Tenda smart cameras use simple integer values as session tokens instead of cryptographically secure random tokens, allowing attackers to guess or enumerate valid administrator sessions without knowing the password. An attacker with network access to the camera's web interface can impersonate an administrator and gain full control over sensitive camera functions such as video access, security configuration, and authentication settings.
Technical details
The vulnerability is an authentication bypass caused by insufficient entropy in session token generation. The vulnerable Kylin Web Service component in /user/bin/Kylin parses the SESSION cookie as a simple integer format (SESSION=%d) rather than using cryptographically secure random tokens. The CWebSessionManager_ParseSession function at address 0xF619C processes the integer session value directly from the HTTP Cookie header. An attacker with network access to the camera's web interface can enumerate or brute-force valid administrator session values (fewer than 1,000 attempts) to impersonate a legitimate logged-in administrator. The attack is especially practical when an administrator session is currently active. Additionally, the CWebSessionManager_ValidateCredentials function only validates the first six characters of the password, further weakening authentication. Successful exploitation grants full web administrator privileges, allowing attackers to modify security configurations, disable authentication, access video streams, and potentially chain this vulnerability with others for deeper device compromise.
Affected products
- Tenda CH7 up to V26.5.59.2
- Tenda CH7G up to V26.5.60.2
- Tenda CH10 up to V26.4.41.36
- Tenda CP3 up to V27.5.57.17
- Tenda CP3 Pro up to V21.7.17.111
- Tenda CP7 up to V26.5.45.17
- Tenda TC3B14C up to V25.4.42.21
- Tenda TC3B15C up to V25.4.26.53
- Tenda TC3T14C up to V25.4.43.20
- Tenda TC3T15C up to V25.4.43.21
Timeline
- 2026-08-13: disclosed
- other: Vulnerability affects firmware versions released after November 2025 unless redesigned