Safeguard
Vulnerability Analysis•

CVE-2025-32519: High File Inclusion in WordPress IDonate

IDonate for WordPress up to 2.1.18 has a PHP local file inclusion flaw (CVSS 8.1). Update to a fixed version, or remove the plugin if none is available.

Safeguard Security Team
3 min read

CVE-2025-32519 is a high severity (CVSS 8.1) PHP file inclusion flaw in the IDonate WordPress plugin by Foysal Imran, through version 2.1.18. It allows local file inclusion by controlling the filename used in an include statement. The record names no fixed version, so update to the newest release or remove the plugin.

What's affected

IDonate for WordPress, all versions through 2.1.18 per the CVE record. The record is based on a Patchstack report and does not state a fixed release, so check the plugin's change log for the first version after 2.1.18.

The record describes improper control of the filename passed to an include or require statement in PHP. It lists the effect as local file inclusion. The attack complexity is rated high, which keeps the score at 8.1 instead of higher.

The plugin adds donation forms to a site, so it is likely to be active on public pages. Check staging and old sites as well.

How to check if you're exposed

Read the installed version with WP-CLI:

wp plugin get idonate

Or open the Plugins page in the WordPress admin and read the version below the plugin name. Anything at 2.1.18 or lower is in scope.

If you manage many sites, run the same command through your management tooling and collect the results in one list.

What to do now

  1. Update IDonate to the latest version from the WordPress plugin directory or the vendor.
  2. If no fixed version exists, deactivate and delete the plugin and use another donation method.
  3. Keep file permissions tight so the web server user cannot read files it does not need.
  4. Check web logs for odd requests to the plugin's paths with file path style values.
  5. Turn on automatic updates for plugins that handle public input, where your change policy allows it.

Why it matters

The class is CWE-98 (PHP File Inclusion). A script picks a file to load using a value the caller can influence. In the local variant, the attacker steers the include toward files already on the server. Depending on what is on disk and what the process can read, the results range from disclosure of configuration to code execution.

The high attack complexity in the vector matters. It suggests conditions must line up for an attack to work. It does not make the plugin safe, because those conditions are hard to rule out from the outside.

The record does not mark this CVE as CISA KEV and makes no claim of exploitation in the wild.

Try it yourself

WordPress plugin flaws are disclosed all the time, long after you installed the plugin. This demo shows how continuous monitoring flags a new CVE in something you already run.

Click through it at your own pace, or open it full screen.

Quick check

Does the attack need a login?

The vector shows no privileges required and no user interaction, but with high attack complexity. Treat any public site running the plugin as in scope.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.