Reported vulnerability
Loco Translate <= 2.5.3 - Authenticated PHP Code Injection
Published 11 Oct 2021
Updated 22 Jan 2024
CVE-2021-24721
Compare your installed software with the affected versions below. Follow the source’s remediation guidance and test an available update after taking a backup. A database entry describes a reported issue; it does not establish whether a particular website has been compromised.
Does this affect my version?
Check your installed version against this advisory. This compares the report’s version ranges and does not scan your website.
Wordfence advisory
medium · CVSS 6.5The Loco Translate WordPress plugin before 2.5.4 mishandles data inputs which get saved to a file, which can be renamed to an extension ending in .php, resulting in authenticated "translator" users being able to inject PHP code into files ending with .php in web accessible locations.
Severity vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Loco Translate
- Software
- plugin · loco-translate
- Affected versions
- Start version unspecified, before 2.5.4
- Fix availability
- Fix available
- Fixed versions
- 2.5.4
Recommended action
Update to version 2.5.4, or a newer patched version
Further references (1)
Data sources and licences
Copyright 2012-2026 Defiant Inc.
Defiant hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute this software vulnerability information. Any copy of the software vulnerability information you make for such purposes is authorized provided that you include a hyperlink to this vulnerability record and reproduce Defiant's copyright designation and this license in any such copy.
Read licence termsCopyright 1999-2026 The MITRE Corporation
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy.
Read licence termsSource: Wordfence
Need help fixing this issue?
Get help checking your site, applying an available update and resolving any problems after updating.
Get help with this issueQuestions about this vulnerability
Which versions of Loco Translate are affected?
Wordfence lists these affected versions: Start version unspecified, before 2.5.4. Use the version checker above to compare your installed release with this report.
Is a fix available for Loco Translate?
Wordfence reports a fix for this issue in Loco Translate. It lists these fixed versions: 2.5.4. Back up your website and test the recommended update before applying it to your live site.
Where can I find my installed plugin version?
In WordPress, open Plugins > Installed Plugins and find the version shown beneath the plugin name.
Does an affected version mean my website has been hacked?
An affected version means the installed release matches a vulnerability described in this report. It does not show whether anyone has exploited it on your website. The checker compares version numbers with stored reports; it does not inspect your website.
Other reports for the same product
These reports cover at least one of the same plugins, themes or WordPress core. Check each report’s affected versions separately.
- Loco Translate <= 2.8.8 - Authenticated (Translator+) Stored Cross-Site ScriptingUpdated 9 Oct 2026
- Loco Translate <= 2.8.8 - Authenticated (Translator+) Limited File ReadUpdated 9 Oct 2026
- Loco Translate <= 2.8.7 - Authenticated (Translator+) Stored Cross-Site Scripting via PO File Extracted CommentsUpdated 16 Aug 2026
- Loco Translate <= 2.8.5 - Cross-Site Request Forgery to Remote Code Execution via 'template' ParameterUpdated 31 Jul 2026
- Loco Translate <= 2.8.2 - Authenticated (Translator+) Path Traversal to Limited File Read via 'ref' ParameterUpdated 5 May 2026