# Polylang <= 3.9.1 - Authenticated (Author+) Missing Authorization to Sticky Post Assignment via Post Translation

- **ID:** WPSEC-2026-2780
- **Plugin:** Polylang (`polylang`), https://wordpress.org/plugins/polylang/
- **Affected versions:** from 1.8 before 3.9.2
- **Fixed in:** 3.9.2 (Update to 3.9.2 or later.)
- **Severity:** Medium 4.3 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N)
- **Weakness:** CWE-862
- **Usage among sites WPSec scans:** plugin High, affected versions High (as of 2026-11-10)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/polylang
- **Fix released:** 2026-11-09
- **Published:** 2026-11-10
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2780/

## Description

The Polylang plugin for WordPress is vulnerable to unauthorized modification of data via the new post translation feature in all versions up to, and including, 3.9.1, due to a missing capability check when the sticky status of a source post is copied to a newly created translation. When a user creates a translation of a sticky post, the new post is made sticky even if the user lacks the edit_others_posts capability (WordPress requires both edit_others_posts and publish_posts to make a post sticky). This makes it possible for authenticated attackers, with author-level access and above, to publish their own posts as sticky posts, which they would not normally be allowed to do.

## References

- https://wpsec.com/vuln/WPSEC-2026-2780/
- https://plugins.svn.wordpress.org/polylang/tags/3.9.2/
- https://wordpress.org/plugins/polylang/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2780/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
