Description
CGI versions before 5.00 for Perl allow the POSTDATA, PUTDATA, PATCHDATA and XForms:Model parameters to be set from the query string or form fields.

CGI stores a non-form request body under POSTDATA, PUTDATA or PATCHDATA, and an XForms body under XForms:Model, but also accepts these names from the query string, a form field or a multipart part, so an application cannot tell a client-sent value from the real body.

A cross-site HTML form can post POSTDATA={"admin":true} to an endpoint that reads JSON from param('POSTDATA'), a request forgery that needs no CORS preflight.
Published: 2026-11-03
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Cross‑Site Request Forgery
Action: Patch
AI Analysis

Impact

A flaw in CGI prior to version 5.00 for Perl permits an attacker to supply malformed request bodies via query string or form fields for POSTDATA, PUTDATA, PATCHDATA, or XForms:Model. Because these parameters are also read from client‑side fields, the application cannot distinguish user‑supplied values from the genuine request body. The vulnerability enables a cross‑site request forgery that can alter application state, such as granting administrative privileges by posting POSTDATA={"admin":true}. This bypasses normal CSRF defenses and has no CORS preflight.

Affected Systems

The vulnerability affects installations of the CGI Perl module older than 5.00. Versions 4.72 and any earlier release are impacted. Enterprises using CGI 4.x or 4.72 or earlier in a web application that processes JSON or XForms payloads are at risk.

Risk and Exploitability

The flaw is exploitable via a simple HTML form submission that does not require any special headers or authentication. The publicly reported CVSS score is 6.5, indicating moderate severity. Although EPSS is not available, the nature of the attack – a CSRF that needs no preflight – suggests a realistic exploitation probability for vulnerable endpoints. The vulnerability is not listed in CISA's KEV catalog, but its CSRF characteristics pose significant risk for state‑changing operations.

Generated by OpenCVE AI on November 4, 2026 at 13:41 UTC.

Remediation

Vendor Solution

Upgrade to CGI 5.00 or later.


Vendor Workaround

For deployments that cannot upgrade, check the request Content-Type before trusting param('POSTDATA').


OpenCVE Recommended Actions

  • Upgrade to CGI 5.00 or later to receive the upstream fix.
  • If an upgrade is not possible, validate the request Content-Type and only trust param('POSTDATA') when the body is of the expected type, rejecting values supplied via query string or form fields.
  • Implement additional CSRF defenses such as synchronizer tokens or same-site cookie checks on state‑changing endpoints to prevent unauthorized parameter manipulation.

Generated by OpenCVE AI on November 4, 2026 at 13:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 04 Nov 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-454
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N'}

threat_severity

Moderate


Wed, 04 Nov 2026 00:00:00 +0000

Type Values Removed Values Added
Description CGI versions before 5.00 for Perl allow the POSTDATA, PUTDATA, PATCHDATA and XForms:Model parameters to be set from the query string or form fields. CGI stores a non-form request body under POSTDATA, PUTDATA or PATCHDATA, and an XForms body under XForms:Model, but also accepts these names from the query string, a form field or a multipart part, so an application cannot tell a client-sent value from the real body. A cross-site HTML form can post POSTDATA={"admin":true} to an endpoint that reads JSON from param('POSTDATA'), a request forgery that needs no CORS preflight.
Title CGI versions before 5.00 for Perl allow the POSTDATA, PUTDATA, PATCHDATA and XForms:Model parameters to be set from the query string or form fields
Weaknesses CWE-352
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-11-03T23:40:33.770Z

Reserved: 2026-11-02T17:41:07.710Z

Link: CVE-2026-120640

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-04T00:17:25.390

Modified: 2026-11-04T00:17:25.390

Link: CVE-2026-120640

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-11-03T23:40:33Z

Links: CVE-2026-120640 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-11-04T13:45:14Z

Weaknesses
  • CWE-352

    Cross-Site Request Forgery (CSRF)

  • CWE-454

    External Initialization of Trusted Variables or Data Stores