WP with Spritz: Unauthenticated LFI Flaw (CVE-2018-25329) Threatens Servers

Step by step
How the attack unfolded
Click a phase for details – or let the animation play through.
PHASE 1/6 · Reconnaissance

The attacker identifies WordPress sites running the vulnerable WP with Spritz 1.0 plugin.

T1595 – Active Scanning T1592 – Gather Victim Host Information
  • Target: legacy installs of the plugin removed from WordPress.org since 2020-07-23
  • Vulnerable file wp.spritz.content.filter.php remains reachable even when plugin is disabled
  • WordPress market share around 41–43% worldwide (W3Techs, 2026)
PHASE 2/6 · Initial Access

A single unauthenticated browser request exploits the LFI vulnerability CVE-2018-25329.

T1190 – Exploit Public-Facing Application
  • CVE-2018-25329, CVSS 8.1 (Patchstack/Wordfence), up to 9.1 critical (WPScan)
  • No password, no login, no authentication required
  • Public PoC exploit available since 2018-04-25 on Exploit-DB (EDB-ID 44544)
  • CWE-98: improper control of filename for PHP include statement
PHASE 3/6 · Execution

Using path-traversal sequences, the attacker reads arbitrary local server files.

T1083 – File and Directory Discovery T1006 – Path Traversal / Direct Volume Access
  • Unvalidated url parameter passed directly to file_get_contents()
  • Path traversal via ../ enables access outside the webroot
  • Access to files such as /etc/passwd (system users)
  • With allow_url_include enabled, escalates to Remote File Inclusion (RFI/RCE)
PHASE 4/6 · Credential Access

The attacker reads wp-config.php and obtains the database credentials in cleartext.

T1552.001 – Unsecured Credentials: Credentials In Files
  • wp-config.php holds database name, user and password in cleartext
  • WordPress secret security keys are also exposed
  • Grants full access to the entire WordPress database
PHASE 5/6 · Exfiltration

Using the stolen credentials, customer and database contents are extracted.

T1213 – Data from Information Repositories
  • Potentially affected: customer data, orders, email addresses
  • Extracted password hashes enable further compromise
  • GDPR breach notification duty under Art. 33 for personal data
PHASE 6/6 · Impact

In the RFI scenario the attacker executes arbitrary code and fully takes over the server.

T1496 – Resource Hijacking T1059 – Command and Scripting Interpreter
  • Remote Code Execution (RCE) when allow_url_include is enabled
  • Loading of external malicious code from an attacker-controlled server
  • No patch available or planned – only removal or virtual mitigation (Patchstack)
  • BSI cybersecurity alert 2026-271984-1032 on WordPress RCE
Short & clear answers
Frequently asked questions about this incident
Am I affected by the WP with Spritz vulnerability?
Only WordPress sites running the WP with Spritz plugin version 1.0 are affected – whether active or deactivated. Check under "Plugins" → "Installed Plugins" for the entry, or verify via FTP whether the directory /wp-content/plugins/wp-with-spritz/ exists. The vulnerable file remains reachable and exploitable through the web server even when the plugin is deactivated.
What exactly do I need to do now?
Since there is no patch and never will be, you must remove the plugin completely. Deactivate and delete it in the WordPress dashboard, then manually remove the entire /wp-content/plugins/wp-with-spritz/ directory via FTP/SFTP so no remnants are left behind. If you suspect an attack has occurred, you should also change your database credentials.
How dangerous is the CVE-2018-25329 vulnerability really?
The flaw is rated high to critical: Patchstack and Wordfence score it CVSS 8.1, VulnCheck and the NVD 8.7, and WPScan even 9.1. Without any login, an attacker can read protected files such as wp-config.php, which contains the database name, user and password in plain text. If the PHP setting allow_url_include is enabled, a full server takeover is even possible.
Is there an update or patch for the plugin?
No. The plugin was removed from the WordPress.org directory on 23 July 2020 due to a security issue and is no longer maintained by its developer. No patch exists and none will ever be released – the only effective measure is to remove the plugin entirely.
How can I tell if my website has already been attacked?
Search your Apache or Nginx access logs for calls to wp.spritz.content.filter.php, especially with the url= parameter and values like ../, etc/passwd, wp-config or external addresses (http://, https://). Such entries indicate attempted attacks. A full scan with Wordfence Security detects the flaw and explicitly reports CVE-2018-25329.
More security news
You might also be interested in
Critical Elementor Pro Flaw: Attackers Can Fully Take Over WordPress Sites
A file upload bug in Elementor Pro up to 4.2.1 allows RCE without login. Version 4.2.2 fixes the flaw – update now!
Pods Plugin: Critical Flaw Enables Admin Takeover, No Login
A critical flaw in the WordPress plugin Pods lets attackers overwrite admin passwords without login. Over 100,000 sites are affected.
miniOrange SAML SSO: Critical Bypass Turns Attackers Into Admins
Two critical auth bypasses in the miniOrange SAML SSO plugin allow forged SAML assertions—up to full WordPress admin access.