Risque

  • Exécution de code arbitraire avec élévation de privilèges ;
  • Création et/ou modification de fichiers.

Systèmes affectés

Serveurs de base de données Oracle 8.0x, 8.1.x, et 9.0.1 sur toutes les plate-formes Unix.

Résumé

Une vulnérabilité des exécutables otrcrep et oracle dans le serveur de base de données permet à un utilisateur mal intentionné d'exécuter du code arbitraire et d'écraser ou créer des fichiers.

Description

Un utilisateur mal intentionné peut, par le biais d'un débordement de mémoire de la commande otrcrep, exécuter du code arbitraire avec les privilèges de l'utilisateur Oracle et/ou du groupe dba.

Une autre vulnérabilité permet, en invoquant astucieusement la commande oracle sous Unix, de bénéficier des droits du groupe dba pour écraser des fichiers de journalisation ou créer de nouveaux fichiers dans le répertoire ORACLE_HOME/rdbms/log.

Par ailleurs, en faisant pointer la variable ORACLE_HOME sur un répertoire arbitraire, il est possible de créer ou de modifier d'autres fichiers sur la machine.

Contournement provisoire

  • Pour octcrep :
    • désactiver les fonctions de trace dans les paramètres du fichier init<SID>.ora comme suit (où <SID> est un numéro) : Oracle_trace_enable=FALSE
    • Modifier les permissions des fichiers pour tous les exécutables Oracle Trace :
      chmod -s  otrccol otrcref otrcfmt otrcrep
      chmod 751 otrccol otrcref otrcfmt otrcrep
      
  • Pour l'exécutable oracle :

    changer les permissions de l'exécutable oracle : chmod o-x oracle

Solution

Selon Oracle, le correctif ne sera distribué qu'avec la nouvelle version d'Oracle : Oracle 9i release 2.

Consultez votre distributeur pour plus d'informations sur la mise à jour.

Documentation

Bulletins de sécurité Oracle :