`------------------------------------------------------------------------
Multiple Cross-Site Scripting vulnerabilities in Ninja Forms WordPress
Plugin
------------------------------------------------------------------------
Han Sahin, July 2016
------------------------------------------------------------------------
Abstract
------------------------------------------------------------------------
Multiple reflected Cross-Site Scripting (XSS) vulnerabilities have been
found in the Ninja Forms WordPress Plugin. By using this issue an
attacker can inject malicious JavaScript code into the application,
which will execute within the browser of any user who views the relevant
application content.
------------------------------------------------------------------------
OVE ID
------------------------------------------------------------------------
OVE-20160714-0017
------------------------------------------------------------------------
Tested versions
------------------------------------------------------------------------
This issue was successfully tested on Ninja Forms WordPress Plugin
version 2.9.51.
------------------------------------------------------------------------
Fix
------------------------------------------------------------------------
This issue is resolved in Ninja Forms v2.9.52 (18 July 2016).
------------------------------------------------------------------------
Details
------------------------------------------------------------------------
https://sumofpwn.nl/advisory/2016/multiple_cross_site_scripting_vulnerabilities_in_ninja_forms_wordpress_plugin.html
The WordPress Ninja Forms plugin insufficiently performs CSRF validation (ajaxreferer and nonce) and fails to perform output encoding according to context at any point where user-supplied input is copied into application responses. The vulnerability at least resides in the admin-ajax.php and edit.php page actions of the Ninja Forms plugin. As a result this malicious code will be executed.
Authenticated WP-Admins can be induced to issue the attacker's crafted request in various ways. For example, the attacker can send a victim a link containing a malicious URL or they can create an innocuous looking web site that causes anyone viewing it to make arbitrary cross-domain requests to the vulnerable application (using GET).
Proof of concept
These vulnerabilities can be demonstrated by submitting the following requests to the form_id parameter of the admin-ajax.php and edit.php pages respectively:
/wp-admin/admin-ajax.php?step=4&total_steps=6&args[form_id]=1lxmjg<img src%3daonerror%3dalert(document.cookie)>meiij&args[filename]=kllk'<&action=nf_download_all_subs
/wp-admin/edit.php?post_status=all&post_type=nf_sub&action=-1&m=0&form_id=1'><script>alert(`SumOfPwn.nl`)<%2Fscript>&paged=1&mode=list&action2=-1
Please note that the other parameter in this request are also vulnerable.
------------------------------------------------------------------------
Summer of Pwnage (https://sumofpwn.nl) is a Dutch community project. Its
goal is to contribute to the security of popular, widely used OSS
projects in a fun and educational way.
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation