Mercusys AC12G (EU) V1 router with firmware AC12G(EU)_V1_200909 encrypts configuration backups with a hardcoded DES key using single DES in ECB mode. An attacker who obtains a backup file can decrypt it to recover all stored credentials including admin password, WiFi PSK, and DDNS credentials.
The configuration backup feature encrypts backups using a hardcoded DES key (0x478DA50BF9E3D2CF) in ECB mode with a 16-byte header (SDMP_CONF_V004). The firmware calls DES_set_key_unchecked (no key validation) and uses single DES with 56-bit effective key strength.
The encryption pipeline is:
Config TLV data -> Proprietary TP-Link LZ compression -> DES-ECB encryption -> SDMP_CONF_V004 header
Decryption requires skipping the 16-byte header and applying DES-ECB decryption with the known key.
Once decrypted, the configuration contains all device credentials in plaintext:
- Admin password
- WiFi WPA2 pre-shared keys (both 2.4GHz and 5GHz)
- PPPoE username and password
- DDNS credentials
- Guest network credentials
This same DES key is shared across multiple TP-Link and Mercusys firmware versions and is publicly documented in router security research.
High
Score: 7.4
Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
- CWE-321: Use of Hard-Coded Cryptographic Key
- CWE-798: Use of Hard-Coded Credentials
| Field | Value |
|---|---|
| Vendor | Mercusys (TP-Link sub-brand) |
| Product | AC12G (EU) V1 |
| Tested Firmware | AC12G(EU)_V1_200909, AC12G(EU)_V1_210128 |
| Component | Configuration backup/restore functionality, encryption module |
| Status | End-of-life (no fix planned) |
- Complete credential exposure if a configuration backup file is obtained by any means
- DES is cryptographically broken - 56-bit effective key is brute-forceable
- The same key is shared across TP-Link/Mercusys product lines
- Config backup download requires authentication (code=4), but the encryption adds no real protection once a file is obtained
- Use AES-256 with a device-unique key derived from hardware serial number
- Do not use hardcoded cryptographic keys shared across devices
- Use authenticated encryption (AES-GCM) instead of ECB mode
Tymbark7372