CVE-2026-4351
Perfmatters <= 2.5.9 - Authenticated (Subscriber+) Arbitrary File Overwrite via 'snippets' Parameter
The Perfmatters plugin for WordPress is vulnerable to arbitrary file overwrite via path traversal in all versions up to, and including, 2.5.9. This is due to the PMCS::action_handler() method processing the bulk action activate/deactivate handlers without any authorization check or nonce verification. The $_GET['snippets'][] values are passed unsanitized to Snippet::activate()/Snippet::deactivate() which call Snippet::update() then file_put_contents() with the traversed path. This makes it possible for authenticated attackers, with Subscriber-level access and above, to overwrite arbitrary files on the server with a fixed PHP docblock content, potentially causing denial of service by corrupting critical files like .htaccess or index.php.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.1
Perfmatters <= 2.5.9 - Authenticated (Subscriber+) Arbitrary File Overwrite via 'snippets' Parameter
The Perfmatters plugin for WordPress is vulnerable to arbitrary file overwrite via path traversal in all versions up to, and including, 2.5.9. This is due to the PMCS::action_handler() method processing the bulk action activate/deactivate handlers without any authorization check or nonce verification. The $_GET['snippets'][] values are passed unsanitized to Snippet::activate()/Snippet::deactivate() which call Snippet::update() then file_put_contents() with the traversed path. This makes it possible for authenticated attackers, with Subscriber-level access and above, to overwrite arbitrary files on the server with a fixed PHP docblock content, potentially causing denial of service by corrupting critical files like .htaccess or index.php.
- Record
CVE-2026-4351- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-22
- Updated
- 2026-11-02
EUVDEUVD-2026-21262
8.1
The Perfmatters plugin for WordPress is vulnerable to arbitrary file overwrite via path traversal in all versions up to, and including, 2.5.9. This is due to the PMCS::action_handler() method processing the bulk action activate/deactivate handlers without any authorization check or nonce verification. The $_GET['snippets'][] values are passed unsanitized to Snippet::activate()/Snippet::deactivate() which call Snippet::update() then file_put_contents() with the traversed path. This makes it possible for authenticated attackers, with Subscriber-level access and above, to overwrite arbitrary files on the server with a fixed PHP docblock content, potentially causing denial of service by corrupting critical files like .htaccess or index.php.
- Record
EUVD-2026-21262- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-9m4j-jrjw-j2xh
8.1
The Perfmatters plugin for WordPress is vulnerable to arbitrary file overwrite via path traversal...
The Perfmatters plugin for WordPress is vulnerable to arbitrary file overwrite via path traversal in all versions up to, and including, 2.5.9. This is due to the PMCS::action_handler() method processing the bulk action activate/deactivate handlers without any authorization check or nonce verification. The $_GET['snippets'][] values are passed unsanitized to Snippet::activate()/Snippet::deactivate() which call Snippet::update() then file_put_contents() with the traversed path. This makes it possible for authenticated attackers, with Subscriber-level access and above, to overwrite arbitrary files on the server with a fixed PHP docblock content, potentially causing denial of service by corrupting critical files like .htaccess or index.php.
- Record
GHSA-9m4j-jrjw-j2xh- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-22
- Updated
- 2026-11-02
NVD
8.1
The Perfmatters plugin for WordPress is vulnerable to arbitrary file overwrite via path traversal in all versions up to, and including, 2.5.9. This is due to the PMCS::action_handler() method processing the bulk action activate/deactivate handlers without any authorization check or nonce verification. The $_GET['snippets'][] values are passed unsanitized to Snippet::activate()/Snippet::deactivate() which call Snippet::update() then file_put_contents() with the traversed path. This makes it possible for authenticated attackers, with Subscriber-level access and above, to overwrite arbitrary files on the server with a fixed PHP docblock content, potentially causing denial of service by corrupting critical files like .htaccess or index.php.
- Record
CVE-2026-4351- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-22
- Updated
- 2026-11-02
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-4351 is a high vulnerability (CVSS 8.1) in Perfmatters, published April 10, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.42%, the 36th percentile. No source names a fixed version.