MULTIPLE VULNERABILITIES IN SEVERAL SERIES OF
REALTEK SDK BASED ROUTERS (TOTOLINK AND MANY
OTHER)
Blazej Adamczyk (br0x)
https://sploit.tech/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11.12.2019
1 Sensitive data disclosure and incorrect access control in
several series
of Realtek SDK based routers
══════════════════════════════════════════════════════════════════════════
CVE: CVE-2019-19822
SDK vendor: Realtek
Device vendor: TOTOLINK, Sapido, CIK Telecom, Fibergate
Inc.,
MAX-C300N, T-BROAD and possibly others..
Product: Realtek SDK based routers backed by Boa HTTP server
(and
possibly others) and using apmib library for memory management.
Boa Version: <= Boa/0.94.14rc21 SDK Version: < 2020/02/15
Description: Realtek SDK based routers which use form based
instead
HTTP Basic authentication (that includes Realtek APMIB 0.11f and
Boa
HTTP server 0.94.14rc21) allows remote attackers to retrieve
the
configuration, including sensitive data (usernames and
passwords).
This affects:
• TOTOLINK A3002RU through 2.0.0,
• TOTOLINK 702R through 2.1.3,
• TOTOLINK N301RT through 2.1.6,
• TOTOLINK N302R through 3.4.0,
• TOTOLINK N300RT through 3.4.0,
• TOTOLINK N200RE through 4.0.0,
• TOTOLINK N150RT through 3.4.0, and
• TOTOLINK N100RE through 3.4.0;
• Rutek RTK 11N AP through 2019-12-12;
• Sapido GR297n through 2019-12-12;
• CIK TELECOM MESH ROUTER through 2019-12-12;
• KCTVJEJU Wireless AP through 2019-12-12;
• Fibergate FGN-R2 through 2019-12-12;
• Hi-Wifi MAX-C300N through 2019-12-12;
• HCN MAX-C300N through 2019-12-12;
• T-broad GN-866ac through 2019-12-12;
• Coship EMTA AP through 2019-12-12; and
• IO-Data WN-AC1167R through 2019-12-12; and
• possibly others.
Technical details: The apmib library at some point of
initialization
dumps the whole memory contents the file /web/config.dat. This
folder
is actually used by the boa http server as index directory.
Additionally if the router is configured for form-based
authentication
the access control verifies credentials only for some URLs but
".dat"
files are not restricted. This issue does not affect routers which
use
HTTP Basic authentication to secure all URLs.
PoC:
┌────
│ $ curl http://routerip/config.dat
└────
2 Password stored in plaintext in Realtek SDK based routers
═══════════════════════════════════════════════════════════
CVE: CVE-2019-19823
SDK vendor: Realtek
Device vendor: TOTOLINK, Sapido, CIK Telecom, Fibergate
Inc.,
MAX-C300N, T-BROAD and possibly others..
Product: Realtek SDK based routers backed by Boa HTTP server
(and
possibly others) and using apmib library for memory management.
Boa Version: <= Boa/0.94.14rc21 SDK Version: < 2020/02/15
Description: Realtek SDK based routers (that includes Realtek
APMIB
0.11f and Boa HTTP server 0.94.14rc21) store passwords in
plaintext.
This affects:
• TOTOLINK A3002RU through 2.0.0,
• TOTOLINK 702R through 2.1.3,
• TOTOLINK N301RT through 2.1.6,
• TOTOLINK N302R through 3.4.0,
• TOTOLINK N300RT through 3.4.0,
• TOTOLINK N200RE through 4.0.0,
• TOTOLINK N150RT through 3.4.0, and
• TOTOLINK N100RE through 3.4.0;
• Rutek RTK 11N AP through 2019-12-12;
• Sapido GR297n through 2019-12-12;
• CIK TELECOM MESH ROUTER through 2019-12-12;
• KCTVJEJU Wireless AP through 2019-12-12;
• Fibergate FGN-R2 through 2019-12-12;
• Hi-Wifi MAX-C300N through 2019-12-12;
• HCN MAX-C300N through 2019-12-12;
• T-broad GN-866ac through 2019-12-12;
• Coship EMTA AP through 2019-12-12; and
• IO-Data WN-AC1167R through 2019-12-12; and
• possibly others.
Technical details: Data stored in memory in COMPCS (apmib
library)
format contains device administration and other passwords in
plaintext. The apmib library additionally at some point of
initialization dumps the whole memory contents the file
/web/config.dat which might be used to easily retrieve user
passwords.
3 Code execution in several TOTOLINK routers
════════════════════════════════════════════
CVE: CVE-2019-19824
Vendor: TOTOLINK
Product: TOTOLINK Realtek SDK based routers
Boa Version: <= Boa/0.94.14rc21
Description: On several Realted SDK based TOTOLINK routers,
an
authenticated attacker may execute arbitrary OS commands via
the
sysCmd parameter to the boafrm/formSysCmd URI, even if the GUI
(syscmd.htm) is not available. This allows for full control over
the
device's internals.
This affects:
• A3002RU through 2.0.0,
• A702R through 2.1.3,
• N301RT through 2.1.6,
• N302R through 3.4.0,
• N300RT through 3.4.0,
• N200RE through 4.0.0,
• N150RT through 3.4.0,
• N100RE through 3.4.0, and
• possibly others.
PoC:
┌────
│ $ curl 'http://routerip/boafrm/formSysCmd' --user
"admin:password"
│ --data
'submit-url=%2Fsyscmd.htm&sysCmdselect=5&sysCmdselects=0&
│
save_apply=Run+Command&sysCmd=cp%20%2Fetc%2Fpasswd%20%2Fweb%2Fxxxx.dat'
└────
4 Incorrectly implemented captcha protection in TOTOLINK
routers
════════════════════════════════════════════════════════════════
CVE: CVE-2019-19825
Vendor: TOTOLINK
Product: TOTOLINK Realtek SDK based routers
Boa Version: <= Boa/0.94.14rc21
Description: Guessable captcha vulnerability (CWE-804) in
several
series of TOTOLINK routers allows a remote attacker to
automatically
login to the router without reading and providing real captcha.
The following command returns captcha in plain text:
┌────
│ $ curl 'http://routerip/boafrm/formLogin' --data
'{"topicurl":"setting/getSanvas"}'
└────
Additionally by using the HTTP Basic in a HEADER the attacker
can
execute router actions without providing captcha at all.
This affects:
• A3002RU through 2.0.0,
• A702R through 2.1.3,
• N301RT through 2.1.6,
• N302R through 3.4.0,
• N300RT through 3.4.0,
• N200RE through 4.0.0,
• N150RT through 3.4.0,
• N100RE through 3.4.0, and
• possibly others.
5 Exploiting all together on TOTOLINK routers
═════════════════════════════════════════════
CVSS v3 socre: 9.6 AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
(assuming
Administrative Access on WAN is enabled the score is 10.0)
Exploiting all the vulnerabilities together allows a remote
unauthenticated attacker to execute any code with root permissions
and
reveal administration password.
The only thing that is needed is the access to router
administration
interface (either access to local network or Administrative Access
on
WAN enabled)
Description, video and possibly an exploit:
https://sploit.tech/2019/12/16/Realtek-TOTOLINK.html
Timeline:
• 17.12.2019 - Contacted all identified vendors, i.e. TOTOLINK,
CIK
Telecom, Sapido, Fibergate and Coship.
• 18.12.2019 - received TOTOLINK first line support response
totally
not related to my message and showing me how to log into my
router.
I responded right away and asked to forward the message to
technical/security team.
• 19.12.2019 - received response from CIK Telecom stating that
the
routers support encryption (SIC!). I replied asking to forward
the
message to technical/security team.
• 19.12.20219 - CIK Telecom responded that for further assistance
I
should contact them over the phone. I replied that I need to
explain
the details as a written message as this is technical.
• 27.12.2019, 06.01.2020 - I resent the messages to TOTOLINK and
CIK
Telecom but none have replied till the date of disclosure.
• 06.01.2020 - I finally contacted Realtek as the Supplier of the
SDK.
• 10.01.2020 - I got a response and I replied with encrypted
details
on the bugs.
• 14-15.01.2020 - Realtek replied that the issue with dumping
configuration by apmib exists but it is not directly exploitable
in
the defualt SDK configuration becuase it uses HTTP Basic
authentication which protects all URLs. They agreed however
that
most of the Vendors modify the software including
authentication
mechanism thus making it vulnerable.
• 23.01.2020 - Realtek responded that they are goining to fix
the
issue with dumping configuration to the config.dat file in
version
released on 15.02.2020. They also said that after fixing the
issue
the impact of storing password in plaintext is less significant
thus
they will not fix the CVE-2019-19823 yet but will try to fix it
in
the future.
Temporary workaround: Unfortunately I did not get any good
information
from real vendors like TOTOLINK and for now I would suggest to
disable
administration interface from WAN and restricting LAN router
administration interface access using some kind of firewall if
possible.
Credit: Blazej Adamczyk |