Vfront CVE-2025-60641
MEDIUMSeverity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
AC:H reflects the gadget-chain dependency required for high-impact exploitation; PR:N confirmed by unauthenticated POST surface; full C/I/A reflects RCE potential when chains are present.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Lifecycle Timeline
1DescriptionCVE.org
The file mexcel.php in the Vfront 0.99.52 codebase contains a vulnerable call to unserialize(base64_decode($_POST['mexcel'])), where $_POST['mexcel'] is user-controlled input. This input is decoded from base64 and deserialized without validation or use of the allowed_classes option, allowing an attacker to inject arbitrary PHP objects. This can lead to malicious behavior, such as Remote Code Execution (RCE), SQL Injection, Path Traversal, or Denial of Service, depending on the availability of exploitable classes in the Vfront codebase or its dependencies.
AnalysisAI
PHP object injection in Vfront 0.99.52's mexcel.php endpoint exposes an unauthenticated POST parameter directly to unserialize() without class restrictions, enabling remote attackers to instantiate arbitrary PHP objects. Depending on exploitable gadget chains present in the Vfront codebase or its PHP dependencies, this can escalate to remote code execution, SQL injection, path traversal, or denial of service. No public exploit has been identified at time of analysis, and EPSS places exploitation probability at 0.40% (32nd percentile), consistent with the absence of a CISA KEV listing.
Technical ContextAI
Vfront 0.99.52 is a legacy PHP-based business management application. The vulnerable file mexcel.php passes the HTTP POST parameter 'mexcel' through base64_decode() and then directly into PHP's native unserialize() function with no allowed_classes whitelist - a protection available since PHP 7.0 that would prevent object instantiation entirely. The root cause is CWE-502 (Deserialization of Untrusted Data), though NVD catalogues this under CWE-89 (SQL Injection), which is more accurately one possible downstream impact rather than the root cause - a notable classification discrepancy. Exploitation via PHP object injection relies on 'gadget chains': sequences of PHP magic methods (__wakeup, __destruct, __toString, etc.) within classes loaded at deserialization time that can be chained to produce harmful effects. Common gadget-chain-rich libraries such as Symfony, Guzzle, Doctrine, or Monolog, if bundled with Vfront's dependencies, substantially elevate the severity of this flaw beyond the base deserialization capability. No CPE string was provided in the available intelligence.
Affected ProductsAI
Vfront version 0.99.52 is the confirmed affected version per the CVE description, with the vulnerability residing in the file mexcel.php. No additional affected version ranges have been confirmed from available data, and no CPE string was provided. No official vendor advisory or security bulletin has been identified; the sole reference is the NVD entry at https://xancatos.org/cve202560641. Whether prior or later versions of Vfront share this vulnerable code pattern has not been independently confirmed.
RemediationAI
No vendor-released patch has been identified at time of analysis. The primary code-level fix is to replace the unsafe unserialize(base64_decode($_POST['mexcel'])) call in mexcel.php with a safe alternative: either pass an empty allowed_classes array (unserialize($data, ['allowed_classes' => false])) to prevent PHP object instantiation while preserving scalar deserialization, or replace the entire mechanism with json_decode() if the use case permits - note that switching serialization formats requires corresponding changes to any client-side code generating the payload. As an immediate compensating control, access to mexcel.php should be restricted at the web server level via .htaccess deny rules or an nginx location block, accepting the trade-off of disabling the Excel-related functionality until a code fix is applied. WAF rules blocking POST requests with base64-encoded PHP serialized object patterns (O: prefix after decode) targeting this endpoint provide an additional detection and blocking layer. Refer to https://xancatos.org/cve202560641 for the published advisory.
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
Same weakness CWE-89 – SQL Injection
View allSame technique Deserialization
View allShare
External POC / Exploit Code
Leaving vuln.today