WP Manifestindependent plugin directory
manifest / i18n / wp-translate

WP Content Translate WP Registry grade B. Medium-severity findings · 2 findingsWP RegistryMedium-severity findings · 2 findingsOpen the reportB

Translation plugin there indicate content there needs translation

★ 0stars
2.8kcomposer installs
2.1.1latest · 6 years ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/benjaminmedia/wp-translate/archive/refs/heads/master.zip

On Packagist as benjaminmedia/wp-translate:

composer require benjaminmedia/wp-translate
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Translation plugin there indicate content there needs translation

Releases

5 releases.

Tag
Published
2.1.1 latest
Oct 29, 2019 6 years ago
Sep 9, 2019 7 years ago
Sep 3, 2019 7 years ago
Sep 2, 2019 7 years ago
Feb 14, 2018 8 years ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.

B grade

Security

WP Content Translate 2.1.1 · audited by WP Registry

Medium-severity findings.

2 medium
Audited release
2.1.1
Findings
2
Worst severity
medium
Content hash
cbfe4f64d64df950f8eea02f…

Findings

  • medium Stored XSS via unsanitized translation_state in admin columns

    xss_stored

    TranslationMetaBox::saveMetaBoxSettings stores $_POST['translation_state'] with no sanitize/whitelist and no nonce. Columns::pll_before_post_column then echoes the meta into an HTML class attribute without escaping. Any user who can edit a translated post can inject attribute-breaking payloads that run when an administrator views the Posts list.

    src/TranslationMetaBox.php:35-45

    Recommendation

    Whitelist allowed states (ready|progress|translated), sanitize_key on save, add a nonce + current_user_can('edit_post'), and esc_attr() on output.

  • medium Unescaped translation_state in admin list class attribute

    missing_escaping

    Companion sink for the unsanitized write: get_post_meta(translation_state) is interpolated into class="wptranslate-state-%s" without esc_attr.

    src/Columns.php:27-33

    Recommendation

    Use esc_attr() when emitting meta into HTML attributes.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.