CVE-2026-10818
WordPress Análise e mitigação de vulnerabilidades

Visão geral

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).

Detalhes técnicos

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).

Impacto

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).

Etapas de exploração

  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).

Indicadores de compromisso

  • 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.

Mitigação e soluções alternativas

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.

Reações da comunidade

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).

Recursos adicionais


OrigemEste relatório foi gerado usando IA

Relacionado WordPress Vulnerabilidades:

CVE ID

Gravidade

Pontuação

Tecnologias

Nome do componente

Exploração do CISA KEV

Tem correção

Data de publicação

CVE-2026-10818HIGH8.1
  • wpforms
NãoSimJul 25, 2026
CVE-2026-8789HIGH8.1
  • easy-appointments
NãoSimJul 24, 2026
CVE-2026-14955MEDIUM6.5
  • woocommerce-checkout-field-editor-pro
NãoSimJul 25, 2026
CVE-2026-15425MEDIUM6.4
  • wordpress-seo
NãoSimJul 25, 2026
CVE-2026-15962NONEN/A
  • fluentformpro
NãoSimJul 26, 2026

Avaliação de vulnerabilidade gratuita

Compare sua postura de segurança na nuvem

Avalie suas práticas de segurança na nuvem em 9 domínios de segurança para comparar seu nível de risco e identificar lacunas em suas defesas.

Solicitar avaliação

Marque uma demonstração personalizada

Pronto para ver a Wiz em ação?

"A melhor experiência do usuário que eu já vi, fornece visibilidade total para cargas de trabalho na nuvem."
David EstlickCISO
"A Wiz fornece um único painel de vidro para ver o que está acontecendo em nossos ambientes de nuvem."
Adam FletcherDiretor de Segurança
"Sabemos que se a Wiz identifica algo como crítico, na verdade é."
Greg PoniatowskiChefe de Gerenciamento de Ameaças e Vulnerabilidades