CVE-2022-2433

WordPress Infinite Scroll – Ajax Load More <= 5.5.3 - Cross-Site Request Forgery to PHAR Deserialization

2022-08-22 00:00
Rasoul Jahanshahi

Strategic Overview

Status
Patched in 5.5.4
Affected Version
<= 5.5.3
CVSS
7.5High
Weakness type
CWE-502 · Deserialization of Untrusted Data
CVE
CVE-2022-2433
View all Ajax Load More – Infinite Scroll, Load More, & Lazy Load vulnerabilities

At a glance

CVE-2022-2433 is a high-severity Deserialization of Untrusted Data vulnerability in the Ajax Load More WordPress plugin, affecting versions <= 5.5.3. It carries a CVSS score of 7.5 (reachable over the network; high confidentiality, integrity, availability impact). Exploitation requires no authentication. The issue is fixed in version 5.5.4; sites on affected versions should update now. Disclosed August 2022, reported by Rasoul Jahanshahi.

Vulnerability Overview

The WordPress Infinite Scroll – Ajax Load More plugin for WordPress is vulnerable to deserialization of untrusted input via the 'alm_repeaters_export' parameter in versions up to, and including 5.5.3. This makes it possible for unauthenticated users to call files using a PHAR wrapper, granted they can trick a site administrator into performing an action such as clicking on a link, that will deserialize and call arbitrary PHP Objects that can be used to perform a variety of malicious actions granted a POP chain is also present. It also requires that the attacker is successful in uploading a file with the serialized payload.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, and no privileges on the target site. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.

CWE-502: Deserialization of Untrusted Data

Ajax Load More <= 5.5.3 carries this weakness at alm_repeaters_export, and reaching it takes a caller who can reach the endpoint. Deserialization of untrusted data means the application reconstructs objects from input a caller controls, letting the attacker choose which classes get instantiated and what their properties hold.

A workable chain turns deserialization into file writes, deletions or code execution, depending on what the loaded classes do in their magic methods. For Ajax Load More the fix is 5.5.4: builds <= 5.5.3 are affected, anything from 5.5.4 onward is not.

Remediation

Update to version 5.5.4, or a newer patched version

How does WordSec protect against this?

The attempt arrives as an ordinary request to Ajax Load More: WordSec's web application firewall inspects request payloads before WordPress loads them. Classes like this one can leave something behind, so the staged malware scanner is the second half: it looks for dropped files and modified code rather than for the request that created them. None of that substitutes for the fix: Ajax Load More 5.5.4 closes this, and updating the plugin is the step that ends it.

  • Firewall
  • Scanner
  • Alerts

External References

Related records

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