Description
The Loco Translate plugin for WordPress is vulnerable to Path Traversal in all versions up to, and including, 2.8.2 via the `fsReference` AJAX route. This is due to the `findSourceFile()` method normalizing user-supplied `ref` paths containing `../` directory traversal sequences without validating that the resolved path remains within the intended bundle or content directory. This makes it possible for authenticated attackers, with Translator-level access and above (custom `loco_admin` capability required, granted to the `translator` role and administrators by default), to read arbitrary `.php`, `.js`, `.json`, and `.twig` files from the server filesystem outside the intended translation directory. Files named wp-config.php are excluded.
Published: 2026-05-05
Score: 4.9 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Loco Translate plugin for WordPress contains a path traversal vulnerability in the fsReference AJAX route. The findSourceFile() method normalizes user-supplied ref paths that contain ../ sequences without ensuring the resolved path stays within the intended translation bundle. This flaw allows an attacker who is authenticated with Translator-level access or higher to read arbitrary .php, .js, .json, and .twig files from the server filesystem outside the translation directory, though wp-config.php files are excluded. The vulnerability is a classic directory traversal flaw (CWE‑22) leading to unprivileged file disclosure.

Affected Systems

Any WordPress site running the timwhitlock Loco Translate plugin at version 2.8.2 or earlier is affected. The plugin grants a custom loco_admin capability to the translator role and administrators by default, so any user with that capability can exploit the flaw. The vulnerability applies to all WordPress installations that use the vulnerable version without an update to 2.8.3 or later.

Risk and Exploitability

The CVSS score of 4.9 places the flaw in the Medium range, and the exploit probability is not quantified by EPSS. Because the attack requires authenticated access with translator or higher roles, the attack surface is limited; however, if an attacker can compromise a translator account or elevate privileges, they can read sensitive configuration files and obtain credentials. The flaw is not listed in the CISA KEV catalog, suggesting no widespread, active exploitation at this time. Nonetheless, the existence of a path traversal bug that permits file disclosure warrants prompt remediation.

Generated by OpenCVE AI on May 5, 2026 at 03:20 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Loco Translate to version 2.8.3 or later to eliminate the path traversal flaw.
  • If an upgrade cannot be performed immediately, remove the loco_admin capability from translator users to prevent them from accessing the vulnerable fsReference AJAX route.
  • Ensure server file permissions restrict read access to sensitive directories, and monitor for unauthorized file read attempts via logs.

Generated by OpenCVE AI on May 5, 2026 at 03:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 05 May 2026 05:15:00 +0000

Type Values Removed Values Added
First Time appeared Timwhitlock
Timwhitlock loco Translate
Wordpress
Wordpress wordpress
Vendors & Products Timwhitlock
Timwhitlock loco Translate
Wordpress
Wordpress wordpress

Tue, 05 May 2026 02:45:00 +0000

Type Values Removed Values Added
Description The Loco Translate plugin for WordPress is vulnerable to Path Traversal in all versions up to, and including, 2.8.2 via the `fsReference` AJAX route. This is due to the `findSourceFile()` method normalizing user-supplied `ref` paths containing `../` directory traversal sequences without validating that the resolved path remains within the intended bundle or content directory. This makes it possible for authenticated attackers, with Translator-level access and above (custom `loco_admin` capability required, granted to the `translator` role and administrators by default), to read arbitrary `.php`, `.js`, `.json`, and `.twig` files from the server filesystem outside the intended translation directory. Files named wp-config.php are excluded.
Title Loco Translate <= 2.8.2 - Authenticated (Translator+) Path Traversal to Limited File Read via 'ref' Parameter
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 4.9, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

Timwhitlock Loco Translate
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-05-05T02:26:59.132Z

Reserved: 2026-02-04T17:33:59.876Z

Link: CVE-2026-1921

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-05-05T03:15:59.100

Modified: 2026-05-05T03:15:59.100

Link: CVE-2026-1921

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-05T05:00:06Z

Weaknesses