====================================================================== Secunia Research 27/01/2009 - OpenX Multiple Vulnerabilities - ====================================================================== Table of Contents Affected Software....................................................1 Severity.............................................................2 Vendor's Description of Software.....................................3 Description of Vulnerability.........................................4 Solution.............................................................5 Time Table...........................................................6 Credits..............................................................7 References...........................................................8 About Secunia........................................................9 Verification........................................................10 ====================================================================== 1) Affected Software * OpenX 2.6.3 NOTE: Other versions may also be affected. ====================================================================== 2) Severity Rating: Moderately critical Impact: SQL Injection Local File Inclusion Cross-Site Scripting Cross-Site Request Forgery Where: Remote ====================================================================== 3) Vendor's Description of Software "OpenX is a popular free ad server used to manage the advertising on over 100,000 websites in more than 100 countries around the world. Use OpenX to take control of the advertising on your sites". Product Link: http://www.openx.org/ ====================================================================== 4) Description of Vulnerabilities Multiple vulnerabilities have been discovered in OpenX, which can be exploited by malicious people to conduct cross-site scripting, cross-site request forgery, and file inclusion attacks and by malicious users to conduct script insertion and SQL injection attacks. 1) Input passed to the "clientid" parameter in "www/admin/banner- acl.php", "www/admin/banner-edit.php", "www/admin/campaign-zone.php", "www/admin/advertiser-campaigns.php", "www/admin/campaign- banners.php", and "www/admin/banner-activate.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 2) Input passed to the "orderdirection" and "listorder" parameters in "www/admin/userlog-index.php" and "www/admin/stats.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 3) Input passed to the "origPublisherId" parameter in "www/admin/userlog-index.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 4) Input passed to "setPerPage", "day", "period_end", "period_start", and "statsBreakdown" parameters in "www/admin/stats.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 5) Input passed to the "campaignid" parameter in "www/admin/banner- acl.php", "www/admin/banner-edit.php", "www/admin/banner-acl.php", "www/admin/campaign-zone.php", and "www/admin/campaign-banners.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 6) Input passed to the "bannerid" parameter in "www/admin/banner- acl.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 7) Input passed to the "affiliateid" parameter in "www/admin/zone- probability.php", "www/admin/zone-invocation.php", "www/admin/affiliate-zones.php", and "www/admin/zone-include.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 8) Input passed to the "zoneid" parameter in "www/admin/zone- probability.php", "www/admin/zone-invocation.php", and "www/admin/zone-include.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 9) Input passed to the "userid" parameter in "www/admin/admin- user.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 10) Input passed to the "thirdpartytrack" parameter in "www/admin/admin-generate.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 11) Input passed to the "agencyid" parameter in "www/admin/agency- edit.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 12) Input passed to the "codetype" parameter in "www/admin/affiliate- preview.php" is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in the context of an affected site. 13) The application allows users to perform certain actions via HTTP requests without performing any validity checks to verify the requests. This can be exploited to e.g. perform script insertion attacks via the "timezone" parameter in www/admin/account- preferences-timezone.php by tricking the user into visiting a malicious web site. 14) Input passed to the "name" and "description" parameters in "www/admin/channel-edit.php" is not properly sanitised before being used. This can be exploited to insert arbitrary HTML and script code, which is executed in a user's browser session in the context of an affected site when the malicious entry is viewed. 15) Input passed to the "campaignid" parameter in "www/admin/banner- acl.php", "www/admin/campaign-edit.php", and "www/admin/banner- edit.php" is not properly sanitised before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. 16) Input passed to the "bannerid" parameter in "www/admin/banner- acl.php" is not properly sanitised before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. 17) Input passed to the "listorder" parameter in "www/admin/userlog- index.php" is not properly sanitised before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. 18) Input passed to the "affiliateid" parameter in "www/admin/zone- probability.php", "www/admin/channel-edit.php", "www/admin/zone- invocation.php", and "www/admin/zone-include.php" is not properly sanitised before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. 19) Input passed to the "clientid" parameter in "www/admin/campaign- banners.php" is not properly sanitised before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. 20) Input passed to the "zoneid" parameter in "www/admin/zone- delete.php" and "www/admin/zone-include.php" is not properly sanitised before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. 21) Input passed to the "channelid" parameter in "www/admin/channel- acl.php" is not properly sanitised before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. 22) Input passed to the "MAX_type" parameter in "www/delivery/fc.php" and to the "lang" parameter in "www/admin/numberFormat.js.php" is not properly verified before being used to include files. This can be exploited to include arbitrary files from local resources via directory traversal attacks. ====================================================================== 5) Solution Use another product. ====================================================================== 6) Time Table 20/01/2009 - Vendor notified (requested security contact). 20/01/2009 - Vendor informs that request has been passed on to engineering team. 26/01/2009 - Third party publicly reports some of the vulnerabilities. 27/01/2009 - Public disclosure. ====================================================================== 7) Credits Discovered by Sarid Harper, Secunia. ====================================================================== 8) References The Common Vulnerabilities and Exposures (CVE) project has not yet assigned CVE identifiers for the vulnerabilities. ====================================================================== 9) About Secunia Secunia offers vulnerability management solutions to corporate customers with verified and reliable vulnerability intelligence relevant to their specific system configuration: http://secunia.com/advisories/business_solutions/ Secunia also provides a publicly accessible and comprehensive advisory database as a service to the security community and private individuals, who are interested in or concerned about IT-security. http://secunia.com/advisories/ Secunia believes that it is important to support the community and to do active vulnerability research in order to aid improving the security and reliability of software in general: http://secunia.com/secunia_research/ Secunia regularly hires new skilled team members. Check the URL below to see currently vacant positions: http://secunia.com/corporate/jobs/ Secunia offers a FREE mailing list called Secunia Security Advisories: http://secunia.com/advisories/mailing_lists/ ====================================================================== 10) Verification Please verify this advisory by visiting the Secunia website: http://secunia.com/secunia_research/2009-4/ Complete list of vulnerability reports published by Secunia Research: http://secunia.com/secunia_research/ ======================================================================