CVE-2026-12720
Kirki < 6.0.13 - Unauthenticated PHP Object Injection
Record summary
CVE-2026-12720 has a selected CVSS score of 7.5 (high); EIP currently links 1 repository PoC.
Description
The Kirki WordPress plugin before 6.0.13 does not restrict which classes may be instantiated when it deserialises data that unauthenticated users can store, leading to PHP Object Injection that is triggered when an administrator later reviews the stored data. With a suitable gadget chain present on the site (via another installed Kirki WordPress plugin before 6.0.13, , or an outdated WordPress version), this could be leveraged to perform a variety of attacks, such as remote code execution.
Exploitation context
Available material
- Repository PoCs
- 1
CISA SSVC decision
CISA Coordinator · SSVC 2.0.3 · Evaluated Jul 31, 2026 · Source: CVE List
Affected products and versions
1| Product | Source | Version range | Status |
|---|---|---|---|
KirkiDefault status: unaffected | CVE List | Before 6.0.13 | affected |
Proofs of concept
1Repository PoCs
GitHubwebshellseo8/CVE-2026-12720-Proof-of-ConceptRepository PoCby webshellseo8Stars: 0Model review verdict: Suspicious behavior.Stub2 files
AnalysisSuspicious behavior
Technical assessment
The artifact is a Python script and README that describe CVE-2026-12720 but contain only a placeholder payload and no functional exploit or scanner logic. The script prints vulnerability information and a hardcoded illustrative serialized string, then exits. It does not connect to a target, send a payload, or verify vulnerability status.
Backdoor review
Suspicious behaviorThe Python script is a harmless simulation that prints a placeholder payload and does not perform any network activity or exploitation. However, the README.md materially misrepresents the script's capabilities, claiming it is a 'functional demonstration script' with 'Automated Verification' and 'Customizable Payloads', which directly contradicts the script's actual behavior. This deception about the artifact's functionality raises concern about the operator's intent.
Classification basis and observed behavior
Classification basis
The script contains no code to connect to a target, send a payload, or check for vulnerability. It only prints a placeholder payload and describes the vulnerability. The README claims 'Automated Verification' and 'Customizable Payloads' but the provided Python file implements none of these features. The artifact is materially incomplete for exploitation or scanning.
CVE-2026-12720.py:1-90README.md:19-21Requirements
- User must type 'yes' to proceed to the simulation step.
CVE-2026-12720.py:80-81
Observed behavior
- Prints a disclaimer and vulnerability information.
CVE-2026-12720.py:36-58 - Displays a hardcoded placeholder serialized payload without sending it to any target.
CVE-2026-12720.py:34CVE-2026-12720.py:61-72
Behaviors behind the backdoor verdict
Flagged behaviors
- The README.md describes the artifact as a 'functional demonstration script' with features like 'Automated Verification' and 'Customizable Payloads', but the provided Python script (CVE-2026-12720.py) contains no such functionality; it only prints a hardcoded placeholder payload and requires no target input.
README.md:13README.md:19-21CVE-2026-12720.py:61-72
Observables
- Url
- https://t.me/LatestExploitsA Telegram channel URL embedded in the script as the 'Source' of vulnerability information. It is displayed to the user but not used for any network communication within the provided code.
CVE-2026-12720.py:32
What the analysis did not establish
- The README describes features (Automated Verification, Customizable Payloads) not present in the supplied Python file.
- The Python file contains only a placeholder payload and no network operations.
- Only the two text files (CVE-2026-12720.py and README.md) were reviewed. No other files, dependencies, or network behavior were analyzed.
- The review cannot determine if the Telegram channel URL is malicious or if the repository contains hidden branches or tags with different content.
This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.