CVE-2026-1921
Loco Translate <= 2.8.2 - Authenticated (Translator+) Path Traversal to Limited File Read via 'ref' Parameter
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- High
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.9
Loco Translate <= 2.8.2 - Authenticated (Translator+) Path Traversal to Limited File Read via 'ref' Parameter
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.
- Record
CVE-2026-1921- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
EUVDEUVD-2026-27169
4.9
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.
- Record
EUVD-2026-27169- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-hq6w-992m-rf4h
4.9
The Loco Translate plugin for WordPress is vulnerable to Path Traversal in all versions up to,...
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.
- Record
GHSA-hq6w-992m-rf4h- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
NVD
4.9
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.
- Record
CVE-2026-1921- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-1921 is a medium vulnerability (CVSS 4.9) in Timwhitlock Loco Translate, published May 5, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.64%, the 50th percentile. No source names a fixed version.
References
wordfence.com/threat-intel/vulnerabilities/id/f9ff3058-a08c-40ed-b756-81e703b2277a?source=cve
plugins.trac.wordpress.org/browser/loco-translate/tags/2.8.1/src/ajax/FsReferenceController.php
plugins.trac.wordpress.org/browser/loco-translate/trunk/src/ajax/FsReferenceController.php
plugins.trac.wordpress.org/changeset/3482475/loco-translate/trunk/tpl/admin/config/version.php
plugins.trac.wordpress.org/changeset?old_path=%2Floco-translate/tags/2.8.2&new_path=%2Floco-translate/tags/2.8.3
nvd.nist.gov/vuln/detail/CVE-2026-1921
github.com/advisories/GHSA-hq6w-992m-rf4h