Lucene search
K

WordPress Core 5.9.0 / 5.9.1 Cross Site Scripting Vulnerability

🗓️ 15 Mar 2022 00:00:00Reported by Ben BidnerType 
zdt
 zdt
🔗 0day.today👁 1032 Views

WordPress 5.9.0/5.9.1 Cross-Site Scripting & Prototype Pollution Vulnerabilitie

Related
Code
ReporterTitlePublishedViews
Family
CNNVD
jquery-plugin-query-object 安全漏洞
23 Apr 202100:00
cnnvd
CVE
CVE-2021-20083
23 Apr 202118:47
cve
Cvelist
CVE-2021-20083
23 Apr 202118:47
cvelist
EUVD
EUVD-2022-4938
3 Oct 202520:07
euvd
Fedora
[SECURITY] Fedora 35 Update: wordpress-5.9.2-1.fc35
18 Mar 202220:08
fedora
Fedora
[SECURITY] Fedora 36 Update: wordpress-5.9.2-1.fc36
26 Mar 202215:47
fedora
Github Security Blog
jquery-plugin-query-object contains prototype pollution vulnerability
24 May 202217:48
github
Hive Pro Threat Advisories
Weekly Threat Digest: 14 – 20 March 2022
23 Mar 202204:17
hivepro
NVD
CVE-2021-20083
23 Apr 202119:15
nvd
OpenVAS
WordPress Multiple Vulnerabilities (Mar 2022) - Linux
14 Mar 202200:00
openvas
Rows per page
Contributor+ Stored Cross Site Scripting Vulnerability

Description: Contributor+ Stored XSS

Affected Versions: WordPress Core 5.9.0-5.9.1

CVE ID: Pending

CVSS Score: 8.0 (High)

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H

Fully Patched Version: 5.9.2

Researcher/s: Ben Bidner

WordPress uses a function called wp_kses to remove malicious scripts from posts, which is called in wp_filter_post_kses whenever post content is saved.

Recent versions of WordPress allow some degree of full site editing, including global styles, which use their own sanitization function wp_filter_global_styles_post.

Unfortunately, however, the wp_filter_global_styles_post function ran after wp_filter_post_kses. Normally this would not be an issue, but wp_filter_global_styles_post performs a second round of JSON decoding on the content it has been passed, which allows for a number of bypasses that would normally be handled by wp_kses.

The patched version runs wp_filter_global_styles_post before wp_filter_post_kses so that any potential bypasses have already been processed and wp_kses can effectively sanitize them.

This vulnerability does require the attacker to have the ability to edit posts, and as such they would need access to the account of at least a Contributor-level user. An attacker able to successfully exploit this vulnerability could inject malicious JavaScript into a post, which, when previewed by an administrator, would execute. JavaScript running in an administrator’s session can be used to take over a site via several methods including the addition of new malicious administrative users and the injection of backdoors into a website.

Prototype Pollution Vulnerabilities

Description: Prototype Pollution via the Gutenberg wordpress/url package

Affected Versions: WordPress Core < 5.9.2

CVE ID: Pending

CVSS Score: 5.0 (Medium)

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L

Fully Patched Version: 5.9.2

Researcher/s: Uncredited

Description: Prototype Pollution in jQuery

Affected Versions: WordPress Core < 5.9.2

CVE ID: CVE-2021-20083

CVSS Score: 5.0 (Medium)

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L

Fully Patched Version: 5.9.2

Researcher/s: Uncredited

Prototype pollution vulnerabilities allow attackers to inject key/value “properties” into JavaScript objects and are in many ways similar to PHP Object Injection vulnerabilities. In cases where the webserver is running JavaScript such as with Node.js, this can be used to achieve critical-severity exploits such as Remote Code Execution. WordPress, however, is a PHP application and does not run on Node.js so the impact of these vulnerabilities are limited.

One of these vulnerabilities was present in the Gutenberg wordpress/url package, while a separate but very similar vulnerability was present in jQuery, which was patched separately and updated to jQuery 2.2.3.

We are not aware of any practical exploits at this time, but any such exploits targeting WordPress would require user interaction, such as an attacker tricking a victim into clicking a link, similar to reflected Cross-Site Scripting(XSS).

An attacker successfully able to execute JavaScript in a victim’s browser could potentially take over a site, but the complexity of a practical attack is high and would likely require a separate vulnerable component to be installed. Nonetheless, the Wordfence Threat Intelligence team has released a firewall rule designed to block exploit attempts against these vulnerabilities.

Conclusion

In today’s article, we covered the 3 vulnerabilities patched in the WordPress 5.9.2 security release. Most actively used WordPress sites should have already been patched via automatic updates. The Wordfence firewall also provides protection against these vulnerabilities.

Despite this, we strongly recommend updating your site to a patched version of WordPress if it hasn’t been updated automatically. As long as you are running a version of WordPress greater than 3.7, an update is available to patch these vulnerabilities while keeping you on the same major version, so you should not have to worry about compatibility issues.

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation