CVE-2026-18328 in Forminator Forms Plugininfo

Summary

by MITRE • 08/25/2026

The Forminator Forms – Contact Form, Payment Form & Custom Form Builder plugin for WordPress is vulnerable to DOM-Based Reflected Cross-Site Scripting via the 'error_description' parameter in all versions up to, and including, 1.57.0 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The vulnerability is only triggerable on pages hosting a Forminator form configured to use the Stripe Checkout Sessions payment API, which became the default in 1.56.0.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 08/25/2026

The identified security flaw resides within the Forminator Forms plugin for WordPress, specifically affecting versions up through and including 1.57.0. This vulnerability is classified as a DOM-Based Reflected Cross-Site Scripting issue, which stems from insufficient input sanitization and output escaping mechanisms when handling user-supplied data. The specific vector of exploitation involves the error_description parameter, which serves as a conduit for injecting malicious JavaScript payloads into web pages that render Forminator forms. Because the vulnerability is reflected rather than stored, it requires an attacker to craft a specially constructed URL or request that includes the malicious script within the error description field. When this crafted input is processed by the application and subsequently rendered in the browser without proper encoding, the embedded scripts execute immediately upon page load for any user who accesses the compromised link.

The operational impact of this vulnerability is significant because it allows unauthenticated attackers to bypass authentication requirements entirely. By exploiting this flaw, an attacker can perform a variety of malicious actions on behalf of the victim user, including session hijacking, credential theft via keyloggers or form field manipulation, defacement of the website content, and redirection to phishing sites. The severity is further compounded by the fact that the vulnerability is only triggerable under specific conditions: it requires the presence of a Forminator form configured to use the Stripe Checkout Sessions payment API. This configuration became the default setting starting in version 1.56.0, which means that any site running versions between 1.56.0 and 1.57.0 with this common payment integration is potentially vulnerable. The reliance on external payment gateways introduces additional complexity to the attack surface, as the error handling logic for Stripe interactions must properly sanitize data before it reaches the client-side DOM manipulation routines.

From a technical perspective, this vulnerability aligns with CWE-79, which covers Improper Neutralization of Input During Web Page Generation commonly known as Cross-site Scripting. The specific nature of the flaw is reflected XSS because the malicious input is echoed back to the user in the response without being properly encoded or escaped by the server-side code before reaching the browser's Document Object Model. Furthermore, since the execution occurs via client-side scripts manipulating the DOM based on URL parameters or request data, it also intersects with CWE-80, which addresses Improper Neutralization of Script-Related HTML Tags in a Web Page. The lack of robust output escaping means that special characters such as angle brackets and quotes are not converted to their safe entity equivalents, allowing the browser to interpret them as executable code rather than plain text data.

In terms of threat intelligence frameworks, this vulnerability can be mapped to MITRE ATT&CK techniques related to Client-Side Injection and Web Application Attack vectors. Specifically, it falls under T1059, Command and Scripting Interpreter, where JavaScript is used for execution, and potentially T1189, Drive-by Compromise if the exploit leads to malware download or further exploitation of browser vulnerabilities. The attack chain typically involves social engineering to lure a victim into clicking the malicious link containing the crafted error_description parameter, followed by immediate script execution in the context of the vulnerable website's domain. This allows the attacker to bypass same-origin policy restrictions and access sensitive cookies, local storage data, and other session-specific information associated with that domain.

Mitigation strategies must address both the immediate technical flaw and broader security hygiene practices. The primary remediation is to upgrade the Forminator plugin to a version later than 1.57.0 where this issue has been patched by implementing strict input validation and output encoding for all user-supplied data, particularly within error handling routines related to third-party payment integrations like Stripe. Developers should ensure that any dynamic content inserted into the DOM is sanitized using established libraries or built-in functions designed to prevent script injection. Additionally, organizations should implement Content Security Policy headers to restrict the sources from which scripts can be loaded and executed, thereby providing a layer of defense even if an XSS vulnerability exists. Regular security audits and static code analysis tools configured to detect missing output escaping patterns are also recommended to identify similar weaknesses in custom WordPress themes or plugins before they can be exploited by malicious actors.

Responsible

Wordfence

Reservation

07/29/2026

Disclosure

08/25/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Interested in the pricing of exploits?

See the underground prices here!