Advertisement






Google Forms WordPress Plugin unauthenticated PHP Object injection vulnerability

CVE Category Price Severity
CVE-2021-24399 CWE-502 Not specified High
Author Risk Exploitation Type Date
ImreRad High Remote 2017-01-26
CVSS EPSS EPSSP
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 0.05 0.93

CVSS vector description

Our sensors found this exploit at: https://cxsecurity.com/ascii/WLB-2017010206

Below is a copy:

Google Forms WordPress Plugin unauthenticated PHP Object injection vulnerabilityAbstract
A PHP Object injection vulnerability was found in the Google Forms WordPress Plugin, which can be used by an unauthenticated user to instantiate arbitrary PHP Objects. Using this vulnerability it is possible to execute arbitrary PHP code.

Contact
For feedback or questions about this advisory mail us at sumofpwn at securify.nl

The Summer of Pwnage
This issue has been found during the Summer of Pwnage hacker event, running from July 1-29. A community summer event in which a large group of security bughunters (worldwide) collaborate in a month of security research on Open Source Software (WordPress this time). For fun. The event is hosted by Securify in Amsterdam.

OVE ID
OVE-20160803-0001

Tested versions
This issue was successfully tested on the Google Forms WordPress Plugin version 0.84 - 0.87.

Fix
This issue is resolved in Google Forms version 0.91.

Introduction
The Google Forms WordPress Plugin fetches a published Google Form using a WordPress custom post or shortcode, removes the Gooogle wrapper HTML and then renders it as an HTML form embedded in your blog post or page. A PHP Object injection vulnerability was found in the Google Forms WordPress Plugin, which can be used by an unauthenticated user to instantiate arbitrary PHP Objects.

Details
This issue is possible due to two unsafe calls to unserialize() in the ProcessGoogleForm() method. The input is taken directly from the POST request as can be seen in the following code fragment:


wpgform-core.php:

// Need the action which was saved during form construction
$action = unserialize(base64_decode($_POST['wpgform-action'])) ;
unset($_POST['wpgform-action']) ;
$options = $_POST['wpgform-options'] ;
unset($_POST['wpgform-options']) ;
$options = unserialize(base64_decode($options)) ;


It has been confirmed that this issues can be used to execute arbitrary PHP code.


Copyright ©2024 Exploitalert.

This information is provided for TESTING and LEGAL RESEARCH purposes only.
All trademarks used are properties of their respective owners. By visiting this website you agree to Terms of Use and Privacy Policy and Impressum