CVE-2020-35947

Page Builder: Pagelayer – Drag and Drop website builder <= 1.1.1 - Missing Authorization to Cross-Site Scripting

2020-05-28 00:00
Chloe Chamberland

Strategic Overview

Status
Patched in 1.1.2
Affected Version
< 1.1.2
CVSS
7.4High
Weakness type
CWE-79 · Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
CVE
CVE-2020-35947
View all Page Builder: Pagelayer – Drag and Drop website builder vulnerabilities

At a glance

CVE-2020-35947 is a high-severity Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in the Page Builder: Pagelayer WordPress plugin, affecting versions < 1.1.2. It carries a CVSS score of 7.4 (reachable over the network; low attack complexity). The root cause is a missing authorization check on a reachable function. The issue is fixed in version 1.1.2; sites on affected versions should update now. Disclosed May 2020, reported by Chloe Chamberland.

Vulnerability Overview

An issue was discovered in the PageLayer plugin before 1.1.2 for WordPress. Nearly all of the AJAX action endpoints lacked permission checks, allowing these actions to be executed by anyone authenticated on the site. This happened because nonces were used as a means of authorization, but a nonce was present in a publicly viewable page. The greatest impact was the pagelayer_save_content function that allowed pages to be modified and allowed XSS to occur.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user.

CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Reaching this weakness in Page Builder: Pagelayer < 1.1.2 takes a caller who can reach the endpoint. Cross-site scripting happens when input from a request is written into a page without being escaped for the context it lands in, so the browser parses attacker-supplied text as markup or script.

Injected script runs with the privileges of whoever views the affected page, which is how these flaws turn into administrator session theft, silent account creation or persistent backdoors in page content. For Page Builder: Pagelayer the fix is 1.1.2: builds < 1.1.2 are affected, anything from 1.1.2 onward is not.

Remediation

Update to version 1.1.2, or a newer patched version

How does WordSec protect against this?

The attempt arrives as an ordinary request to Page Builder: Pagelayer: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: Page Builder: Pagelayer 1.1.2 closes this, and updating the plugin is the step that ends it.

  • Firewall
  • Alerts

External References

Related records

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