Document Title: =============== European Parliament - Blind SQL Injection Vulnerability References (Source): ==================== http://www.government-lab.com/get_content.php?id=37 CERT-EU #24002 Release Date: ============= 2016-05-10 Government Laboratory ID (VL-ID): ==================================== 37 Common Vulnerability Scoring System: ==================================== 7.4 Product & Service Introduction: =============================== The European Parliament (EP) is the directly elected parliamentary institution of the European Union (EU). Together with the Council of the European Union (the Council) and the European Commission, it exercises the legislative function of the EU. The Parliament is composed of 751 (previously 766) members, who represent the second largest democratic electorate in the world (after the Parliament of India) and the largest trans-national democratic electorate in the world (375 million eligible voters in 2009). (Copy of the Homepage: )https://en.wikipedia.org/wiki/European_Parliament ) Abstract Advisory Information: ============================== A governemnt laboratory core team researcher discovered a blind sql-injection vulnerability in the official European Parliament online service web-application. Vulnerability Disclosure Timeline: ================================== 2016-04-03: Researcher Notification & Coordination (Government Laboratory - Core Research Team) 2016-04-04: Vendor Notification (CERT EU - Security Department) 2016-04-14: Vendor Response/Feedback (CERT EU - Security Department) 2016-04-27: Vendor Fix/Patch (European Parliament Site Developer Team) 2016-05-10: Public Disclosure (Government Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== European Union Product: European Parliament - Online Service (Web-Application) 2016 Q2 Exploitation Technique: ======================= Remote Severity Level: =============== High Technical Details & Description: ================================ A remote blind sql-injection web vulnerability has been discovered in the official European Parliament online service web-application. The vulnerability allows remote attackers to execute own sql commands to compromise the web-application or connected database management system. The vulnerability is located in the `pubRef`, `type`, `reference`, `secondRef` and `language` values of the `getDoc.do` file GET method request. Remote attackers are able to execute sql commands by injection of malicious statements via GET method request. The vulnerability is located on the application-side of the online service web-application. The injection points are the `pubRef`, `type`, `reference`, `secondRef` and `language` values values in the vulnerable marked `getDoc.do` file. The security vulnerability is a classic blind sql-injection in the application error reply web context covered by the insecure exception-handling. The input and output of the error exception is not secure validated and can forward the requested string to receive a valid output to compromise the computer system. The security risk of the sql-injection vulnerability is estimated as high with a cvss (common vulnerability scoring system) count of 7.4. Exploitation of the remote sql injection web vulnerability requires no user interaction or privileged web-application user accounts. Successful exploitation of the remote sql injection results in database management system, web-server and web-application compromise. Request Method(s): [+] GET Vulnerable File(s): [+] getDoc.do Vulnerable Parameter(s): [+] pubRef [+] type [+] reference [+] secondRef [+] language Affected Module(s): [+] Application Error (Exception-Handling) Proof of Concept (PoC): ======================= The sql-injection web vulnerability can be exploited by remote attackers without user interaction or privileged web-application user accounts. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue. PoC: Exploitation http://www.europarl.europa.eu/sides/getDoc.do?type=1+1%27&reference=-1=1%27&secondRef=or&language=1=2%27[SQL INJECTION VULNERABILITY!]-- http://www.europarl.europa.eu/sides/getDoc.do?type=1+1%27&reference=-1=1%27[SQL INJECTION VULNERABILITY!]--&secondRef=or&language=1=2%27-- http://www.europarl.europa.eu/sides/getDoc.do?type=1+1%27[SQL INJECTION VULNERABILITY!]--&reference=-1=1%27&secondRef=or&language=1=2%27-- PoC: Vulnerable Source (getDoc.do) [Application Error - Exception Handling]
(type:1 1', secondRef:or, reference:-1=1', language:1=2') Reference(s): http://www.europarl.europa.eu/ http://www.europarl.europa.eu/sides/ http://www.europarl.europa.eu/sides/getDoc.do Solution - Fix & Patch: ======================= The blind sql-injection vulnerability can be patched by usage of entities, encode and a secure statement request via GET or POST method to the application-errors. Filter the exception input and disallow usage of special chars, escape the entries and redirect without redisplaying the values context again. Disallow select statements and other invalid context by an internal redirect to prevent further sql-injection attacks. Security Risk: ============== The security risk of the blind sql-injection web vulnerability in the european parliament online service web-application is estimated as medium. (CVSS 7.4) Credits & Authors: ================== Government Laboratory [Research Team] - (research@government-lab.com) [www.government-lab.com] Disclaimer & Information: ========================= The information provided in this advisory is provided as it is without any warranty. Government Lab disclaims all warranties, either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Government-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 Government-Lab or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental 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. Domains: www.government-lab.com - www.gov-lab.com - www.evolution-sec.com Contact: emac@government-lab.com - service@government-lab.com - team@government-lab.com Section: magazine.vulnerability-lab.com - government-lab.com/contact.php - evolution-sec.com/contact Social: twitter.com/gov_lab - https://www.facebook.com/government0lab/ - https://plus.google.com/111696307218346891388 Feeds: government-lab.com/rss/rss.php - government-lab.com/rss/rss_upcoming.php - government-lab.com/rss/rss_news.php Programs: government-lab.com/submit.php - government-lab.com/list-of-bug-bounty-programs.php - government-lab.com/register.php Any modified copy or reproduction, including partially usages, of this file requires authorization from Government 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 Government-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@ or research@government-lab.com) to get a ask permission. Copyright © 2016 | Government Laboratory - [Evolution Security GmbH]™