---
id: "CVE-2026-118235"
kind: "vulnerability"
aliases: ["CVE-2026-118235"]
title: "WordPress SimpleForm plugin: unauthenticated file upload leads to code execution"
severity: "critical"
cvss: 9.8
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "simpleform", "wordpress"]
not_affected_if: ["plugin-above-3.10.2", "plugin-not-installed"]
published_at: "2026-10-31T09:16:33+00:00"
first_seen_at: "2026-10-31T09:34:41+00:00"
updated_at: "2026-10-31T09:35:40+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-118235", "first_seen_at": "2026-10-31T09:34:41+00:00"}]
---

# WordPress SimpleForm plugin: unauthenticated file upload leads to code execution

The SimpleForm WordPress plugin up to and including 3.10.2 accepts file uploads through its handle_upload function without proper extension checks, because a trailing-dot filename bypasses validation. An unauthenticated visitor can obtain the nonce printed on any public form page and upload an executable file, which can lead to remote code execution on the site.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check whether the SimpleForm plugin is installed and its version in the WordPress admin under Plugins, or in the plugin's main file header.
- Look for the `simpleform` plugin directory under `wp-content/plugins/` and confirm whether its version is `3.10.2` or lower.

## Fix

- SimpleForm plugin: unknown (the sources do not state a fixed version)

## Timeline

- 2026-10-31T09:34:41+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-118235

## From the sources

The SimpleForm – Form Maker to Chat Apps with Quiz, Poll and Multi Lead Notifications plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 3.10.2 via the handle_upload function. This is due to missing server-side file key allowlist and pre-sanitization extension derivation that allows a trailing-dot filename to bypass all extension and MIME validation in handle_upload. This makes it possible for unauthenticated attackers to upload files that may be executable, which makes remote code execution possible. The only access control is a nonce that is printed into every public form's data-nonce attribute, making it trivially obtainable by any unauthenticated visitor on a page embedding the form shortcode.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
