CVE-2025-3515
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedThe Drag and Drop Multiple File Upload for Contact Form 7 plugin for WordPress is vulnerable to arbitrary file uploads due to insufficient file type validation in all versions up to, and including, 1.3.8.9. This makes it possible for unauthenticated attackers to bypass the plugin's blacklist and upload .phar or other dangerous file types on the affected site's server, which may make remote code execution possible on the servers that are configured to handle .phar files as executable PHP scripts, particularly in default Apache+mod_php configurations where the file extension is not strictly validated before being passed to the PHP interpreter.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceThe WordPress plugin 'Drag and Drop Multiple File Upload for Contact Form 7' uses blacklist-based file type validation that can be bypassed, allowing unauthenticated attackers to upload .phar files. Since .phar files are treated as executable PHP scripts in default Apache+mod_php configurations, this enables remote code execution.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data< 1.3.9.0CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Confirm plugin installationCheck if 'codedropz drag and drop multiple file upload' plugin is installed in WordPress via Plugins admin page or inspect plugin directory wp-content/plugins/ for codedropz folderAffected if Plugin is present and active in WordPress
-
Identify installed versionView plugin details in WordPress admin (Plugins > Installed Plugins > Plugin Details) or read version from plugin's main PHP file header commentAffected if Version is less than 1.3.9.0
-
Verify upload functionality is accessibleNavigate to a Contact Form 7 form that includes the codedropz file upload field and confirm the upload interface loadsAffected if Upload field is present and accessible to unauthenticated or authenticated users
-
Check PHP phar.readonly settingExecute php -i or create a PHP info page to verify the phar.readonly directive valueAffected if phar.readonly is set to 0 or not explicitly set to 1 in php.ini or Apache config
-
Check web server PHP execution handlerIdentify if server runs Apache with mod_php (check phpinfo() for 'Server API' value or server headers)Affected if Server uses mod_php where .phar files can be executed as PHP scripts
User is affected if the codedropz plugin version is below 1.3.9.0 AND the upload feature is accessible AND phar.readonly is not set to 1 AND the server uses mod_php that can execute .phar files as PHP.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped1.3.9.0
Update to a patched version once released. As interim hardening, disable .phar execution in php.ini via 'phar.readonly=1' and consider WAF rules blocking .phar uploads.
1.3.9.0
- Log in to WordPress admin dashboard
- Navigate to Plugins > Installed Plugins
- Locate 'Drag And Drop Multiple File Upload for Contact Form 7' in the plugin list
- Click 'Update now' or navigate to the plugin details and update to version 1.3.9.0
- Verify the update was successful by checking the plugin version displays 1.3.9.0 or higher
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation3.0 h
- Implementation6.0 h
- Testing4.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $4,224.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2025-3515 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2025-3515 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data