Lucene search
K

TP-LINK Cloud Cameras NCXXX SetEncryptKey Command Injection

🗓️ 01 May 2020 00:00:00Reported by Pietro OlivaType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 273 Views

TP-LINK Cloud Cameras NCXXX SetEncryptKey Command Injection vulnerability in httpSetEncryptKeyRpm method allows remote command execution as root

Related
Code
ReporterTitlePublishedViews
Family
0day.today
TP-LINK Cloud Cameras NCXXX SetEncryptKey Command Injection Vulnerability
6 May 202000:00
zdt
CNVD
TP-Link NC260 and NC450 OS Command Injection Vulnerability
6 May 202000:00
cnvd
Check Point Advisories
TP-LINK Cloud Cameras Command Injection (CVE-2020-12111; CVE-2020-12109)
17 May 202000:00
checkpoint_advisories
CVE
CVE-2020-12111
4 May 202014:05
cve
Cvelist
CVE-2020-12111
4 May 202014:05
cvelist
EUVD
EUVD-2020-4427
7 Oct 202500:30
euvd
NVD
CVE-2020-12111
4 May 202015:15
nvd
Prion
Command injection
4 May 202015:15
prion
RedhatCVE
CVE-2020-12111
9 Jan 202609:55
redhatcve
`Vulnerability title: TP-LINK Cloud Cameras NCXXX SetEncryptKey Command Injection  
Author: Pietro Oliva  
CVE: CVE-2020-12111  
Vendor: TP-LINK  
Product: NC260, NC450  
Affected version: NC260 <= 1.5.2 build 200304, NC450 <= 1.5.3 build 200304  
Fixed version: NC260 <= 1.5.3 build_200401, NC450 <= 1.5.4 build 200401  
  
Description:  
The issue is located in the httpSetEncryptKeyRpm method (handler for  
/setEncryptKey.fcgi) of the ipcamera binary, where the user-controlled  
EncryptKey parameter is used directly as part of a command line to be executed  
as root without any input sanitization.  
  
Impact:  
Attackers could exploit this vulnerability to remotely execute commands as root  
on affected devices.  
  
Exploitation:  
An attacker would first need to authenticate to the web interface and make a  
POST request to /setEncryptKey.fcgi. Commands to be executed with root  
privileges can be injected in the EncryptKey parameter.  
  
Evidence:  
The disassembly of affected code from an NC450 camera is shown below:  
  
httpSetEncryptKeyRpm:  
  
0x00491728 lw a0, -0x7fd4(gp)  
0x0049172c nop  
0x00491730 addiu a0, a0, 0x3344 ; "echo %s > %s/%08X"  
0x00491734 lw a1, (EncryptKey_param) ; Attacker controlled string  
0x00491738 lw a2, -0x7fd4(gp)  
0x0049173c nop  
0x00491740 addiu a2, a2, 0x3330 ; 0x583330 ; "/tmp/.encryptkey/"  
0x00491744 lw a3, -0x7fe8(gp)  
0x00491748 nop  
0x0049174c addiu a3, a3, -0xf10  
0x00491750 lw a3, (a3)  
0x00491754 lw t9, -sym.cmCommand(gp)  
0x00491758 nop  
0x0049175c jalr t9  
  
Remediation:  
Install firmware updates provided by the vendor to fix the vulnerability.  
The latest updates can be found at the following URLs:  
  
https://www.tp-link.com/en/support/download/nc200/#Firmware  
https://www.tp-link.com/en/support/download/nc210/#Firmware  
https://www.tp-link.com/en/support/download/nc220/#Firmware  
https://www.tp-link.com/en/support/download/nc230/#Firmware  
https://www.tp-link.com/en/support/download/nc250/#Firmware  
https://www.tp-link.com/en/support/download/nc260/#Firmware  
https://www.tp-link.com/en/support/download/nc450/#Firmware  
  
Disclosure timeline:  
29th March 2020 - Vulnerability reported to vendor.  
27th April 2020 - Patched firmware provided by vendor for verification.  
27th April 2020 - Confirmed the vulnerability was fixed.  
29th April 2020 - Firmware updates released to the public.  
29th April 2020 - Vulnerability details are made public.  
  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation