Document Title: =============== Icyphoenix 2.2.0.105 - Multiple SQL Injection Vulnerabilities References (Source): ==================== https://www.vulnerability-lab.com/get_content.php?id=2006 Release Date: ============= 2018-01-03 Vulnerability Laboratory ID (VL-ID): ==================================== 2006 Common Vulnerability Scoring System: ==================================== 5 Vulnerability Class: ==================== SQL Injection Current Estimated Price: ======================== 500a! - 1.000a! Product & Service Introduction: =============================== Icy Phoenix is a CMS based on phpBB engine (a fully scalable and highly customisable open-source Bulletin Board package PHP based) plus many modifications and code integrations which add flexibility to the whole package. Icy Phoenix has many features, most of them are listed in the Features Page and in the Credits Page. (Copy of the Homepage: http://www.icyphoenix.com/ ) Abstract Advisory Information: ============================== The vulnerability laboratory core research team discovered multiple sql-injection vulnerabilities in the official Icyphoenix v2.2.0.105 content management system. Vulnerability Disclosure Timeline: ================================== 2018-01-03: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== Icyphoenix Product: Phpbb Forum Engine - Content Management System 2.2.0.105 Exploitation Technique: ======================= Remote Severity Level: =============== Medium Technical Details & Description: ================================ Multiple sql injection web vulnerabilities has been discovered in the official Icyphoenix v2.2.0.105 content management system. The web vulnerability allows remote attackers to execute own malicious sql commands to compromise the web-application or dbms. The sql injection web vulnerabilities are located in the `unaprove` and `order` parameters of the `admin_jr_admin.php`, `functions_kb.php` or `admin_kb_art.php` files. Remote attackers with privileged web-application user accounts are able to execute own sql commands by usage of an insecure GET method request with the vulnerable parameters of the web-application. The attack vector of the vulnerability is located on the application-side and the request method to inject is GET. The security vulnerability in the content management system is a classic select remote sql-injection vulnerability. The security risk of the vulnerability is estimated as medium with a cvss (common vulnerability scoring system) count of 5.0. Exploitation of the remote sql injection vulnerability requires a privileged web-application user account and no user interaction. Successful exploitation of the remote sql injection results in database management system, web-server or web-application compromise. Request Method(s): [+] GET Vulnerable Module(s): [+] ./adm/ Vulnerable File(s): [+] admin_jr_admin.php [+] admin_kb_art.php [+] functions_kb.php Vulnerable Parameter(s): [+] unaprove [+] order Proof of Concept (PoC): ======================= The sql.injection vulnerabilities can be exploited by remote attackers with privileged web-application user account and without user interaction. For security demonstration or to reproduce the security vulnerability follow the provided information and steps below to continue. PoC: Exploitation http://icyphoenix.localhost:8000/icyphoenix/adm/admin_kb_art.php?mode=unapprove&a='[SQL-INJECTION!]--&start=0&sid=xxx --- SQL Error Logs --- 1064 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 - UPDATE ip_kb_categories SET number_articles = WHERE category_id = '' Line : 620 File : functions_kb.php PoC: Exploitation http://icyphoenix.localhost:8000/icyphoenix/adm/admin_jr_admin.php?order='[SQL-INJECTION VULNERABILITY!]--&sid=xxx&sort_item=username&alphanum= http://icyphoenix.localhost:8000/icyphoenix/adm/admin_jr_admin.php?order=DESC&sid=xxx&sort_item='[SQL-INJECTION VULNERABILITY!]--&alphanum= --- SQL Error Logs --- 1064 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 'DESC LIMIT 0, 50' at line 1 - SELECT u.username, u.user_id, u.user_active, u.user_color, u.user_rank, u.user_allow_pm, u.user_allowavatar FROM ip_users u WHERE u.user_id <> -1 ORDER BY u.username 'DESC LIMIT 0, 50 - Line : 261 File : admin_jr_admin.php Reference(s): http://icyphoenix.localhost:8000/ http://icyphoenix.localhost:8000/icyphoenix/ http://icyphoenix.localhost:8000/icyphoenix/adm/ http://icyphoenix.localhost:8000/icyphoenix/adm/admin_kb_art.php http://icyphoenix.localhost:8000/icyphoenix/adm/admin_jr_admin.php Solution - Fix & Patch: ======================= Escape and parse the vulnerable parameters and use a prepared statment to protect the sql query. Restrict the input and filter to disallow the usage of special chars to prevent further attacks. Disallow to display the sql error logs by deactivate of the function for the default cms configuration. Note: The issues are known as resolved within the last version updates during 2017. Security Risk: ============== The security risk of the remote sql-injection vulnerabilities in the content management system are estimated as medium (CVSS 5.0). Credits & Authors: ================== Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (http://www.vulnerability-lab.com/show.php?user=Benjamin%20K.M.) 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 A(c) 2018 | Vulnerability Laboratory - [Evolution Security GmbH]aC/ -- VULNERABILITY LABORATORY - RESEARCH TEAM SERVICE: www.vulnerability-lab.com