Skip to main content

Cloudflare Images Plugin CVE-2026-9860

| EUVDEUVD-2026-37840 HIGH
Unrestricted Upload of File with Dangerous Type (CWE-434)
2026-06-18 Wordfence GHSA-8284-5r7j-c9f4
8.8
CVSS 3.1 · Vendor: Wordfence
Share

Severity by source

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

Network-reachable AJAX endpoint (AV:N), straightforward single-quote payload (AC:L), Author account required (PR:L), no victim interaction (UI:N); arbitrary PHP in wp-config.php yields full C/I/A impact.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

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

Lifecycle Timeline

2
Analysis Generated
Jun 18, 2026 - 06:16 vuln.today
CVE Published
Jun 18, 2026 - 04:31 cve.org
HIGH 8.8

DescriptionCVE.org

The Offload, AI & Optimize with Cloudflare Images plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1.10.2 via the 'account-id' parameter parameter. This is due to insufficient privilege enforcement on the cf_images_do_setup AJAX handler, which requires only the upload_files capability (Author+) rather than manage_options before writing to wp-config.php, combined with the absence of single-quote escaping - sanitize_text_field() does not strip single quotes, and filter_input(INPUT_POST) bypasses wp_magic_quotes() slashing - allowing a single quote in the account-id or api-key parameter to break out of the single-quoted PHP string literal in the write_config() define() statement. This makes it possible for authenticated attackers, with author-level access and above, to execute code on the server. This is possible because the 'cf-images-nonce' nonce required by the AJAX handler is exposed to all Author-level and above users on wp-admin/upload.php via the CFImages JavaScript object, meaning any upload-capable user can satisfy the nonce check and reach the vulnerable wp-config.php write path.

AnalysisAI

Remote code execution in the Offload, AI & Optimize with Cloudflare Images WordPress plugin (versions ≤1.10.2) allows authenticated Author-level users to inject PHP into wp-config.php via the 'account-id' or 'api-key' parameters of the cf_images_do_setup AJAX handler. The handler enforces only the upload_files capability instead of manage_options, and a single-quote escape flaw lets attackers break out of a PHP string literal during the define() write. No public exploit is identified at time of analysis, but the vulnerability is reported by Wordfence with detailed root-cause analysis.

Technical ContextAI

The plugin (cpe:2.3:a:vanyukov:offload,_ai_&_optimize_with_cloudflare_images) implements an AJAX setup flow in app/class-settings.php and app/traits/trait-ajax.php that writes Cloudflare account credentials into wp-config.php via a define() statement using single-quoted PHP string literals. The CWE-434 (Unrestricted File Upload) classification is somewhat loose here - the practical root cause is a combination of broken access control (CWE-862) and improper neutralization of special elements (CWE-94/CWE-78-style escape break) in the write_config() routine. sanitize_text_field() preserves single quotes, and filter_input(INPUT_POST) bypasses WordPress's wp_magic_quotes() slashing, so a single quote in account-id closes the literal and the remainder of the string becomes executable PHP at runtime. The cf-images-nonce required by the handler is exposed to every Author+ user via the CFImages JS object on wp-admin/upload.php, eliminating the nonce as a barrier.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - the WordPress plugin changeset 3564001 referenced in the CVE data corresponds to the corrective commit on the cf-images repository, but the input data does not name a tagged 1.10.3+ release, so administrators should update to the latest available cf-images plugin version from the WordPress.org plugin directory and verify the installed version is greater than 1.10.2. As a compensating control until patching, restrict or revoke Author-and-above accounts that are not strictly required, audit existing Author accounts for unexpected behaviour, and consider temporarily deactivating the cf-images plugin (which disables Cloudflare image offloading and any pages depending on it). A web application firewall rule blocking POST requests to admin-ajax.php with action=cf_images_do_setup containing a single quote in account-id or api-key is a narrow stop-gap, but may break legitimate setup attempts and should be removed after patching. Review wp-config.php for any unexpected define() lines or appended PHP as part of incident response, since exploitation persists by modifying that file.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

Share

CVE-2026-9860 vulnerability details – vuln.today

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