Moment.js <= 2.29.1 - Directory Traversal

2022-04-05 00:00
Anonymous

Strategic Overview

Status
Patched in 4.2.0
Affected Plugin
ElasticPress
Affected Version
<= 4.1.0
CVSS
7.5High
Weakness type
CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
CVE
CVE pending
View all ElasticPress vulnerabilities

At a glance

This record tracks a high-severity Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in the ElasticPress WordPress plugin, affecting versions <= 4.1.0. It carries a CVSS score of 7.5 (reachable over the network; low attack complexity; high integrity impact). Exploitation requires no authentication. The issue is fixed in version 4.2.0; sites on affected versions should update now. Disclosed April 2022.

Vulnerability Overview

The Javascript library moment.js is vulnerable to a path traversal vulnerability in versions up to, and including, 2.29.1. This makes it possible for attackers to read files outside of the accessed site's root directory leading to information disclosure.

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 privileges on the target site, and no interaction from a victim user. A successful exploit has high impact on integrity.

CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Reaching this weakness in ElasticPress <= 4.1.0 takes a caller who can reach the endpoint. Path traversal happens when user-controlled text is used to build a filesystem path without being constrained to an intended directory, so sequences like ../ walk the resolved path somewhere else.

Depending on the operation, it means reading files outside the intended folder — wp-config.php being the usual target — or writing to and deleting paths the web server can touch. For ElasticPress the fix is 4.2.0: builds <= 4.1.0 are affected, anything from 4.2.0 onward is not.

Remediation

Update to version 4.2.0, or a newer patched version

How does WordSec protect against this?

The attempt arrives as an ordinary request to ElasticPress: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: ElasticPress 4.2.0 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