Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user
-
DeliverySend crafted AJAX upload request
-
ExploitBypass file-type restriction in Files::uploadFile
-
ExecutionWrite malicious file to server
-
ImpactRequest uploaded file to trigger impact
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File type validation, storage isolation
MITRE ATT&CK
2 techniques across 2 tactics: Command and Control, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a reachable Form Tools instance (≤3.1.1) and a low-privilege authenticated session (CVSS PR:L) to invoke the Ajax Handler's Files::uploadFile function in global/code/actions.php; no user interaction is needed. Limiting factors: authentication is required, the product is niche and self-hosted, and real-world severity depends on whether uploaded files land in a web-executable directory. No official patch is available because the vendor has not responded to the reported issue, so mitigation currently relies on restricting upload permissions or network access. |
| Impact | Signals are mixed and point to a low-to-moderate, access-gated risk rather than an urgent priority. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) describes a remotely reachable, low-complexity flaw but requires at least low-level authentication (PR:L), and the vendor-assigned impact is only VC:L/VI:L/VA:L for a 5.3 (Medium) base score. SSVC-style exploitation maturity is E:P (Proof-of-Concept), consistent with the input's 'POC publicly available' flag and the referenced exploit writeup (github.com/wawyw/cve_report). There is no CISA KEV listing and no EPSS value provided, so there is no evidence of active, widespread exploitation - exploitation status is best described as 'publicly available exploit code exists,' which is a distinct and weaker signal than in-the-wild use. One notable tension: CWE-434 unrestricted file upload in a PHP application very commonly enables webshell deployment and full RCE, which would justify C:H/I:H/A:H; the vendor's conservative VC:L/VI:L/VA:L (typical of VulDB scoring) likely understates realistic worst-case impact, so defenders should treat the true technical ceiling as higher than the 5.3 suggests. The product is also niche and self-hosted, limiting the attack surface across most enterprise fleets. |
| Exploit ScenarioDerived | An attacker with a low-privilege authenticated account on a Form Tools installation sends a crafted AJAX request to the Files::uploadFile handler in global/code/actions.php, uploading a file whose type is not properly restricted. Because a public proof-of-concept exists, a malicious PHP file could plausibly be placed in a web-accessible path and then requested to execute code, though the vendor-rated impact is limited to low confidentiality, integrity, and availability effects. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
Unrestricted file upload in Form Tools 3.1.1 and earlier lets an authenticated, low-privileged user push attacker-controlled files onto a self-hosted instance by invoking the Files::uploadFile function in the Ajax Handler (global/code/actions.php). Publicly available exploit code exists, but the attack is access-gated: it requires a reachable Form Tools deployment plus a valid low-privilege session, and practical severity depends on whether uploaded files are written to a web-executable directory. No vendor-released patch is available because the project has not responded to the reported issue, so overall risk is best characterized as low-to-moderate and access-gated rather than urgent.
RemediationAI
No vendor-released patch identified at time of analysis: Form Tools has not responded to the upstream issue report (https://github.com/formtools/core/issues/957), so there is no fixed version to upgrade to and administrators must rely on compensating controls. Highest-value mitigations, in order: (1) restrict who can reach the Ajax Handler by moving Form Tools behind an authenticating reverse proxy, IP allow-listing, or VPN so only trusted operators can reach the upload endpoint - this eliminates remote exposure but reduces convenience for legitimate distributed users; (2) remove upload rights from non-administrative accounts and audit low-privilege sessions, since the exploit requires a valid low-privilege login (PR:L) - this breaks the demonstrated attack path but may disrupt workflow for users who legitimately submit files; (3) enforce server-side extension and MIME allow-listing on the upload directory outside Form Tools if feasible, with the trade-off that Form Tools' own upload handling may then fail; (4) configure the upload/storage directory so PHP cannot execute there (for example disabling the PHP handler for that path in Apache/nginx or setting php_admin_flag engine off in PHP-FPM), which limits the payoff of a dropped script but does not stop the upload itself; (5) store uploads outside the web root where deployment allows, accepting that any in-application preview or download links may need rework; and (6) monitor web-accessible directories and server logs for unexpected files or POSTs to global/code/actions.php. Because public exploit code exists at https://github.com/wawyw/cve_report/blob/main/formtools_2.md, treat unpatched, internet-facing instances as exposed and prioritize the network-restriction and upload-permission controls until a vendor fix appears.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Form Tools is a PHP/MySQL-based web form and submission management application, and the flaw sits in the class-based action layer that services Ajax requests - specifically Files::uploadFile in global/code/actions.php. The root cause class is CWE-434 (Unrestricted Upload of File with Dangerous Type): the upload routine does not adequately constrain the type, extension, or destination of files it accepts, so a caller can place content of their choosing on the server. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L, E:P) and our independent CVSS 3.1 assessment (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L) both characterize this as a network-reachable issue requiring prior low-privileged authentication with no user interaction, and with only low confidentiality/integrity/availability impact rather than guaranteed code execution. The E:P metric reflects that proof-of-concept exploit code is public, not that exploitation has been observed. The CPE cpe:2.3:a:formtools.org:form_tools:* uses a wildcard version range, confirming that all Form Tools releases up to and including 3.1.1 are in scope; the exact boundary is set by the 3.1.1 mention in the description and the upstream issue report.
Know when Form Tools gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Remote, low-complexity, but needs a low-privilege account (PR:L); impact kept low to match the single vendor source, though unrestricted PHP upload could realistically reach C:H/I:H/A:H.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was detected in formtools.org Form Tools up to 3.1.1. This issue affects the function Files::uploadFile of the file global/code/actions.php of the component Ajax Handler. The manipulation results in unrestricted upload. It is possible to launch the attack remotely. The exploit is now public and may be used. The project was informed of the problem early through an issue report but has not responded yet.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.
More in Form Tools
View allCross Site Scripting (XSS) vulnerability in Form Tools 3.1.1 allows attackers to run arbitrary code via the client_id pa
SQL Injection vulnerability in Form Tools 3.1.1 allows attackers to run arbitrary SQL commands via the 'keyword' when se
Server Side Template Injection (SSTI) vulnerability in Form Tools 3.1.1 allows attackers to run arbitrary commands via t
Cross Site Request Forgery (CSRF) vulnerability in Form Tools 3.1.1 allows attackers to manipulate sensitive user data v
Cross Site Scripting (XSS) vulnerability in Form Tools 3.1.1 allows attackers to run arbitrary code via the First Name f
Form Tools v3.1.1 was discovered to contain a reflected cross-site scripting (XSS) vulnerability via the component /form
Server-side request forgery in Form Tools through 3.1.1 allows an authenticated low-privileged user to make the server i
Server-side template injection (SSTI) in formtools.org Form Tools up to and including version 3.1.1 allows an authentica
A vulnerability, which was classified as problematic, was found in formtools.org Form Tools 3.1.1. Rated medium severity
A vulnerability, which was classified as problematic, has been found in formtools.org Form Tools 3.1.1.php?page=accounts
A vulnerability classified as problematic was found in formtools.org Form Tools 3.1.1. Rated medium severity (CVSS 5.1),
A vulnerability classified as problematic has been found in formtools.org Form Tools 3.1.1. Rated medium severity (CVSS
EUVD-2026-90499
GHSA-c82v-cf4h-jfv4
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB