CVE-2025-2104

4.3 MEDIUM

📋 TL;DR

This vulnerability in the Pagelayer WordPress plugin allows authenticated users with Contributor-level access or higher to bypass post moderation and publish unauthorized content. It affects all WordPress sites using Pagelayer plugin versions up to 1.9.8. The issue stems from insufficient validation in the pagelayer_save_content() function.

💻 Affected Systems

Products:
  • Page Builder: Pagelayer – Drag and Drop website builder plugin for WordPress
Versions: All versions up to and including 1.9.8
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with Pagelayer plugin enabled and at least one user with Contributor role or higher.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could publish malicious content, spam, or inappropriate material that damages site reputation, SEO, and user trust. Could lead to content-based attacks against site visitors.

🟠

Likely Case

Contributors or authors publishing unauthorized content, potentially including spam, inappropriate material, or SEO manipulation content.

🟢

If Mitigated

Limited to authorized users only, with proper content review processes catching unauthorized publications before they go live.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access with at least Contributor privileges. The vulnerability is straightforward to exploit once authenticated.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 1.9.9 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3253356%40pagelayer&new=3253356%40pagelayer&sfp_email=&sfph_mail=

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Page Builder: Pagelayer' and click 'Update Now'. 4. Alternatively, download version 1.9.9+ from WordPress plugin repository and manually update.

🔧 Temporary Workarounds

Temporarily disable plugin

all

Deactivate Pagelayer plugin until patched version can be installed

wp plugin deactivate pagelayer

Restrict user roles

all

Temporarily remove Contributor and Author roles or limit their permissions

wp user list --role=contributor --field=ID
wp user set-role <user_id> subscriber

🧯 If You Can't Patch

  • Implement strict content moderation workflow requiring editor/admin approval for all posts
  • Monitor user activity logs for unauthorized post publications and implement alerting

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Installed Plugins → Page Builder: Pagelayer version. If version is 1.9.8 or lower, you are vulnerable.

Check Version:

wp plugin get pagelayer --field=version

Verify Fix Applied:

Verify plugin version is 1.9.9 or higher in WordPress admin panel. Test that Contributor users cannot publish posts without proper moderation.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized post publications by Contributor/Authors
  • Multiple rapid post publications from single user
  • Posts published outside normal workflow

Network Indicators:

  • Unusual POST requests to pagelayer_save_content endpoint from Contributor-level users

SIEM Query:

source="wordpress" action="post_published" user_role="contributor" OR user_role="author"

🔗 References

📤 Share & Export