CVE-2026-10818
WordPress Analisi e mitigazione delle vulnerabilità

Panoramica

CVE-2026-10818 is an arbitrary file upload vulnerability in the WPForms Pro plugin for WordPress, affecting all versions up to and including 1.10.1.1. The flaw exists in the ajax_chunk_upload_finalize function, where file type validation occurs after chunk metadata and file contents have already been written to disk, and the assembled file is not deleted upon validation failure. This allows unauthenticated attackers to upload executable files and achieve remote code execution on the affected WordPress server. It carries a CVSS v3.1 base score of 8.1 (High) (GitHub Advisory, Wordfence).

Dettagli tecnici

The root cause is classified as CWE-434 (Unrestricted Upload of File with Dangerous Type). The vulnerability stems from a race condition in the chunked file upload workflow: the ajax_chunk_upload_finalize function writes chunk metadata and file contents to disk before performing file type validation, and critically, does not clean up the assembled file if validation subsequently fails. An unauthenticated attacker can exploit this by submitting a chunked upload request with a malicious executable file (e.g., a PHP web shell), which persists on disk regardless of the validation outcome, enabling remote code execution. No authentication or user interaction is required, though attack complexity is rated High (GitHub Advisory, Wordfence).

Impatto

Successful exploitation allows an unauthenticated remote attacker to upload and execute arbitrary code on the WordPress server, resulting in full compromise of confidentiality, integrity, and availability. An attacker could deploy a web shell to gain persistent access, exfiltrate sensitive data (including WordPress database credentials, user data, and configuration files), deface the site, or use the compromised server as a pivot point for lateral movement within the hosting environment (GitHub Advisory, Wordfence).

Passaggi di sfruttamento

  1. Reconnaissance: Identify WordPress sites running WPForms Pro version 1.10.1.1 or earlier using tools like WPScan, Shodan, or by inspecting plugin metadata in publicly accessible WordPress installations.
  2. Identify the upload endpoint: Locate the AJAX endpoint associated with ajax_chunk_upload_finalize, typically accessible via WordPress's admin-ajax.php or a REST API route used by WPForms Pro for chunked file uploads.
  3. Craft a chunked upload request: Split a malicious PHP web shell (e.g., <?php system($_GET['cmd']); ?>) into chunks and initiate the chunked upload process by sending the chunk metadata and file contents to the target endpoint without authentication.
  4. Trigger finalization before cleanup: Send the finalization request to assemble the chunks into the complete file on disk. Because validation occurs after assembly and the file is not deleted on failure, the PHP file persists in the upload directory.
  5. Locate the uploaded file: Determine the path of the uploaded file within the WordPress uploads directory (e.g., /wp-content/uploads/) by observing server responses or using directory enumeration.
  6. Execute arbitrary commands: Access the uploaded web shell via HTTP (e.g., https://target.com/wp-content/uploads/shell.php?cmd=id) to execute arbitrary OS commands and establish persistent access (GitHub Advisory, Wordfence).

Indicatori di compromesso

  • Network: Unusual unauthenticated POST requests to WordPress AJAX endpoints (e.g., admin-ajax.php) with chunked upload parameters from unexpected IP addresses; HTTP GET requests to PHP files in the /wp-content/uploads/ directory with command-execution parameters (e.g., ?cmd=, ?exec=).
  • File System: Presence of PHP files (.php, .php5, .phtml) in the WordPress uploads directory (/wp-content/uploads/) or its subdirectories; unexpected executable files with recent modification timestamps in upload paths; temporary chunk files that were not cleaned up.
  • Logs: Web server access logs showing POST requests to admin-ajax.php with action=wpforms_upload_chunk_finalize or similar WPForms-specific actions from unauthenticated sessions; subsequent GET requests to newly created PHP files in upload directories.
  • Process: Unusual child processes spawned by the web server process (e.g., Apache or Nginx worker) such as bash, sh, curl, wget, or python; unexpected outbound network connections from the web server process.

Mitigazione e soluzioni alternative

Update WPForms Pro to a version newer than 1.10.1.1, which contains the fix for this vulnerability (Wordfence). As interim workarounds, disable PHP script execution in the WordPress uploads directory via server configuration (e.g., adding an .htaccess rule to deny execution of PHP files in /wp-content/uploads/). Additionally, implement Web Application Firewall (WAF) rules to restrict file uploads by type before they reach the application, and monitor upload directories for suspicious executable files.

Reazioni della comunità

The vulnerability was disclosed by Wordfence on July 25, 2026, and was noted on Mastodon by security-focused accounts shortly after publication. No significant vendor statements beyond the patch release or notable researcher commentary beyond the Wordfence advisory have been identified at this time (Wordfence).

Risorse aggiuntive


FonteQuesto report è stato generato utilizzando l'intelligenza artificiale

Imparentato WordPress Vulnerabilità:

CVE ID

Severità

Punteggio

Tecnologie

Nome del componente

Exploit CISA KEV

Ha la correzione

Data di pubblicazione

CVE-2026-15962HIGH8.8
  • fluentformpro
NoJul 26, 2026
CVE-2026-10818HIGH8.1
  • wpforms
NoJul 25, 2026
CVE-2026-8789HIGH8.1
  • easy-appointments
NoJul 24, 2026
CVE-2026-14955MEDIUM6.5
  • woocommerce-checkout-field-editor-pro
NoJul 25, 2026
CVE-2026-15425MEDIUM6.4
  • wordpress-seo
NoJul 25, 2026

Valutazione gratuita delle vulnerabilità

Benchmark della tua posizione di sicurezza del cloud

Valuta le tue pratiche di sicurezza cloud in 9 domini di sicurezza per confrontare il tuo livello di rischio e identificare le lacune nelle tue difese.

Richiedi valutazione

Richiedi una demo personalizzata

Pronti a vedere Wiz in azione?

"La migliore esperienza utente che abbia mai visto offre piena visibilità ai carichi di lavoro cloud."
David EstlickCISO (CISO)
"Wiz fornisce un unico pannello di controllo per vedere cosa sta succedendo nei nostri ambienti cloud."
Adam FletcherResponsabile della sicurezza
"Sappiamo che se Wiz identifica qualcosa come critico, in realtà lo è."
Greg PoniatowskiResponsabile della gestione delle minacce e delle vulnerabilità