DEBIAN-CVE-2026-120640: Debian/libcgi-pm-perl vulnerability

Published Nov 4, 2026
·
Updated

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.

Affected Software

3 affected components
debian/libcgi-pm-perl*
debian/libcgi-pm-perl*
debian/libcgi-pm-perl*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade CGI for Perl to a version that resolves this vulnerability.

    Fixed in 5.00

Event History

Nov 4, 2026
CVE Published
via OSV·12:17 AM
Data Sourced
via OSV·12:17 AM
DescriptionAffected Software

Frequently Asked Questions

1

What application patterns are exposed to this issue?

Applications are exposed if they use CGI parameter lookups such as param('POSTDATA') to read a request body or otherwise rely on POSTDATA, PUTDATA, PATCHDATA, or XForms:Model to distinguish the actual request body from client-supplied parameters. This is particularly relevant for endpoints that accept JSON or other non-form bodies through these parameter names.

2

What does an attacker need to exploit it?

An attacker can supply one of the affected names in a query string, form field, or multipart part. The described cross-site scenario uses an HTML form posting POSTDATA={"admin":true} to an endpoint that reads param('POSTDATA'), and does not require a CORS preflight.

3

How can I determine whether an application may already be vulnerable?

Review CGI applications for reads of POSTDATA, PUTDATA, PATCHDATA, or XForms:Model through parameter APIs, especially param('POSTDATA'). Test whether supplying one of those names in the query string or form data can be accepted in place of, or confused with, the real request body.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203