Skip to main content

Polylang CVE-2026-97278

| EUVDEUVD-2026-101009 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-10-14 Patchstack GHSA-qr9f-p3hp-mggj
7.2
CVSS 3.1 · Vendor: Patchstack
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as high-privileged WordPress user
  2. Delivery
    Submit crafted serialized payload to Polylang
  3. Exploit
    Trigger PHP object injection via unserialize()
  4. Execution
    Invoke POP gadget chain
  5. Impact
    Achieve code execution or data compromise

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated high-privileged account (CVSS PR:H - typically a WordPress administrator or equivalent) able to reach the Polylang input path that deserializes untrusted data, and the untrusted serialized data must flow into a PHP unserialize() call. Meaningful impact beyond the deserialization itself additionally requires a usable POP gadget chain to exist in WordPress core, Polylang, or another installed component - the advisory does not confirm such a chain, which is a key limiting factor. Affects Polylang versions up to and including 3.8.9. No user interaction is required (UI:N), but the high-privilege gate substantially narrows the realistic attacker population.

Impact

The provided CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H, base 7.2) describes a network-reachable, low-complexity object-injection flaw that nonetheless requires high privileges (PR:H) - in a WordPress plugin context this typically means an administrator or equivalently high-privileged account must supply the untrusted serialized data. That high-privilege prerequisite is the single most important risk-dampening factor: an attacker who already holds admin rights on the site can usually inflict damage by many simpler means, so the marginal real-world severity is lower than the 7.2 'High' label suggests in isolation. No EPSS score was supplied, so exploitation probability cannot be quantified from the input. The CVE is NOT listed in CISA KEV and no public proof-of-concept is referenced, so there is no evidence of active exploitation - the only source is a single Patchstack advisory. The genuine danger materializes if the PR:H requirement can be downgraded in practice (e.g., chained with a lower-privilege flaw or a gadget chain reachable by contributors/authors), or if a suitable POP gadget chain exists in WordPress core or other installed plugins; object-injection impact is entirely dependent on available gadget chains, which the advisory does not confirm. Net assessment: a legitimate issue worth patching on a widely deployed plugin, but not an emergency given the high-privilege gate and absence of exploitation signals.

Exploit ScenarioDerived

A high-privileged WordPress user (administrator, per the PR:H vector) submits crafted serialized PHP data to a Polylang input path that is passed to unserialize(), triggering PHP Object Injection. If a usable POP gadget chain is present in the WordPress stack, this can be leveraged for arbitrary file operations, SQL interaction, or code execution, compromising confidentiality, integrity, and availability. No public exploit code is referenced, so weaponization would require the attacker to identify a viable gadget chain themselves.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 14, 2026

PHP object injection in the Polylang WordPress translation plugin through version 3.8.9 lets an authenticated high-privileged user (CVSS PR:H, typically a WordPress administrator) feed untrusted serialized data into a PHP unserialize() call, which can corrupt application state and, if a usable POP gadget chain exists in WordPress core, Polylang, or another installed component, escalate to code execution or file manipulation. There is no public exploit code identified at time of analysis and no indication of active exploitation (not CISA KEV), so practical risk is currently gated by the administrator-equivalent access requirement rather than by exploitability of the deserialization primitive alone.

RemediationAI

No fixed version is stated in the provided data, so the primary step is to monitor the Patchstack advisory at https://patchstack.com/database/wordpress/plugin/polylang/vulnerability/wordpress-polylang-plugin-3-8-9-php-object-injection-vulnerability?_s_id=cve and apply the vendor's patched Polylang release as soon as it is published, upgrading beyond 3.8.9. Until that release is confirmed, apply compensating controls that match the PR:H prerequisite: aggressively reduce and audit administrator-level WordPress accounts and enforce multi-factor authentication for them, which lowers exposure but does not fix the deserialization flaw; deactivate or update unused plugins and themes to shrink the POP gadget-chain surface available to an attacker, accepting the operational cost of removing functionality; and add a WAF or request-filtering rule that rejects PHP serialized-object payloads (for example strings matching O:<digits>:") on Polylang-related parameters, accepting possible false positives on legitimate serialized input. Note that none of these measures fully substitutes for the vendor patch.

Affected VersionsENISA

Polylang 0 ≤3.8.9

Affected Packages

euvd polylang no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The issue is a CWE-502 deserialization of untrusted data flaw in the WP SYNTEX Polylang plugin for WordPress, tracked under CPE cpe:2.3:a:wp_syntex:polylang:*:*:*:*:*:*:*:* and reported through Patchstack. PHP's unserialize() reconstructs arbitrary objects from attacker-supplied strings, and when such strings reach that function the magic methods of already-loaded classes (__wakeup, __destruct, __toString, and similar) can be invoked, which is the classic route to a POP (property-oriented programming) gadget chain that writes files, runs SQL, or executes commands. The independently assessed vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H indicates the injection point is network reachable, requires no user interaction, and is scored high for confidentiality, integrity and availability, but its PR:H component means the actor must already hold an administrator or equivalently privileged WordPress account to reach the vulnerable Polylang input path. The advisory does not confirm that a workable gadget chain is present in this plugin's typical deployment, which is the principal limiting factor on real-world impact beyond the deserialization itself.

Know when Polylang gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Patchstack) PRIMARY 7.2 HIGH
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.2 HIGH

Network-reachable plugin endpoint (AV:N) with no user interaction, but object injection requires an admin-level account to supply the payload, so PR:H; successful injection can yield full C/I/A impact.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Patchstack).

CVSS VectorVendor: Patchstack

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

Deserialization of Untrusted Data vulnerability in WP SYNTEX Polylang polylang allows Object Injection.This issue affects Polylang: from n/a through 3.8.9.

Executive ViewAI

Why It Matters

Sites using the Polylang WordPress translation plugin through version 3.8.9 face a high-severity application integrity risk with no vendor-released patch identified at time of analysis, where an authenticated high-privileged administrator could trigger unsafe deserialization and potentially escalate to code execution or file manipulation if a usable gadget chain exists. Because no public exploit identified at time of analysis and exploitation requires administrator-equivalent access, the immediate business exposure is concentrated in organizations with weak administrative controls, shared admin credentials, or untrusted insiders/contractors. Security leadership should treat this as an access-governance and patch-tracking priority rather than a remote unauthenticated emergency, while recognizing that a compromised admin account could deepen impact across affected WordPress estates.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include reducing administrator-equivalent access to the minimum necessary, enforcing MFA and unique credentials for all WordPress administrators, auditing and monitoring admin sessions for unexpected serialized input or file changes, temporarily deactivating or removing Polylang versions through 3.8.9 where translation functionality is not essential, deploying WAF or virtual patching rules to detect PHP object injection attempts, reviewing installed plugins and themes for known POP gadget chains, and applying the vendor's fixed version immediately once released.

Threat Intelligence Overview

EPSS Score
0.4%
Top 63% exploitable
Prevalence
High
Polylang is a very widely installed WordPress multilingual plugin
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy