Code Snippets <= 3.9.1 - Authenticated (Contributor+) PHP Code Injection via extract() and PHP Filter Chains

2025-11-18 19:03
mikemyers

Strategic Overview

Status
Patched in 3.9.2
Affected PluginCode Snippets
Affected Version<= 3.9.1
CVSS8.0High
CVECVE-2025-13035
View all Code Snippets vulnerabilities

Vulnerability Overview

The Code Snippets plugin for WordPress is vulnerable to PHP Code Injection in all versions up to, and including, 3.9.1. This is due to the plugin's use of extract() on attacker-controlled shortcode attributes within the `evaluate_shortcode_from_flat_file` method, which can be used to overwrite the `$filepath` variable and subsequently passed to require_once. This makes it possible for authenticated attackers, with Contributor-level access and above, to execute arbitrary PHP code on the server via the `[code_snippet]` shortcode using PHP filter chains granted they can trick an administrator into enabling the "Enable file-based execution" setting and creating at least one active Content snippet.

Technical Analysis

REMEDIATION: Update to version 3.9.2, or a newer patched version --- IDENTIFIER: CWE-94 (Improper Control of Generation of Code ('Code Injection')) The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.

External References

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C