Radar sectionsDatabase
Check my site
WordPress plugin

Offload, AI & Optimize with Cloudflare Images <= 1.10.2 — Authenticated (Author+) Remote Code Execution via 'api-key' / 'account-id' Parameters in cf_images_do_setup AJAX Action

CVE-2026-9860Published · Updated

Action summary

Affected: ≤1.10.2Update to 1.10.3 or newer

All remediation steps
Severity
High8.8
CVSS
8.8
CVSS 3.1 · CNA (Wordfence)
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
What does this vector mean?
AV:N Attack vector
Network
AC:L Attack complexity
Low
PR:L Privileges required
Low
UI:N User interaction
None
S:U Scope
Unchanged
C:H Confidentiality
High
I:H Integrity
High
A:H Availability
High
Weakness
CWE-434 Arbitrary File Upload
Required access
Unknown
Exploit prediction (EPSS)
No score
CISA KEV
Not listed

Am I affected?

Offload, AI & Optimize with Cloudflare Images cf-images

  1. Affected≤ 1.10.2
  2. Patched in1.10.3

Update to 1.10.3 or newer.

You are affected if you run ≤ 1.10.2. Version 1.10.3 and later are not affected by this issue.

  • Check your version: in wp-admin go to Plugins → Installed Plugins and read the version under Offload, AI & Optimize with Cloudflare Images.
  • No admin access? Run a passive check of your site. It reads public files only.

What to do

  1. Update to version 1.10.3, or a newer patched version
  2. Rotate administrator passwords and application secrets if the site ran a vulnerable version while publicly reachable.
  3. Watch Offload, AI & Optimize with Cloudflare Images to get an email when the next vulnerability is published.

Advisory

Source description from Wordfence Intelligence, credited to Yat.

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.

Exploits & references

Proof-of-concept & detection

No public proof-of-concept or detection template is known for this vulnerability.

Advisories & patches

More in Offload, AI & Optimize with Cloudflare Images

All 2
More vulnerabilities in Offload, AI & Optimize with Cloudflare Images
SeverityVulnerabilityCVEPublished
Medium4.3Missing Authorization
≤1.9.5Update to 1.9.6
CVE-2025-66104

Same weakness (Arbitrary File Upload)

All Arbitrary File Upload
Other Arbitrary File Upload vulnerabilities
SeverityVulnerabilityCVEPublished
High7.2Unauthenticated Stored Cross-Site Scripting via Comment User-Agent HeaderCVE-2026-120688
Critical9.8Unauthenticated Arbitrary File Upload via File Upload via Public Form SubmissionCVE-2026-125055
Critical9.8Unauthenticated PHP Object Injection to Remote Code Execution via 'form' ParameterCVE-2026-119077
Medium5.3Unauthenticated Sensitive Information Exposure in 'search' Parameter
Customer Reviews for WooCommerce≤5.127.0Update to 5.128.0
CVE-2026-121518

Timeline

  1. CVE published

    Severity high, CVSS 8.8

  2. Record last updated

Sources & licenses

Wordfence record
Vulnerability data
Wordfence Intelligence. [object Object] Licensed under the CC BY-SA 4.0.
CVE® identifiers
[object Object]. Used under the CVE Program. CVE® is a registered trademark of The MITRE Corporation.
CVSS / CWE
National Vulnerability Database (NVD), shown unmodified. This product uses the NVD API but is not endorsed or certified by the NVD.
VulnCrest content
Summary, remediation guidance and page layout © VulnCrest. Not sourced from NVD.

How we use these sources

Search VulnCrest Radar

Are you sure?