|
======================================================================
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/
=====================================================================