Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

: Faille de sécurité importante dans Sendmail

Posté par med (page perso, ). Modéré le 03 mars 2003.
Un faille de sécurité vient d'être découverte dans Sendmail. Celle-ci peut donner un accès root à une personne non autorisée. Il n'y a pas d'exploit connu à l'heure actuelle, mais chacun est très fortement encouragé à patcher son système ou à passer à la dernière version, dans les plus brefs délais.

NdM: Encore un buffer overflow dans Sendmail. La protection contre l'exécution de la pile semble être inefficace ici. Pas encore d'infos sur l'efficacité de StackGuard/ProPolice vis à vis de cette faille (en fait, il n'y a pas encore d'exploit pour tester si ProPolice fonctionne ou pas dans ce cas). RedHat et OpenBSD semblent être les premiers à avoir livré des patchs pour leurs systèmes respectifs.

N'hésitez pas à poster en commentaire les URIs vers les patchs de votre système/distribution favorite !

> Lire la dépêche (142 commentaires, moyenne: 3,5).  

Vous avez demandé le commentaire #179257.

Re: Faille de sécurité importante dans Sendmail

Posté par Lionel Draghi (page perso, ) le 03/03/2003 à 23:56. (lien). Évalué à 5.

Effectivement, "buffer overflow" est devenu une news tellement banale...

Je ne sais pas ce que sont ProPolice et StackGuard, mais je pense que le plus simple est quand même de privilégier des applis utilisant un langage de programmation qui empèche ce genre de faille (quand elles existent!).

Le Secure Programming for Linux and Unix HOWTO (http://www.dwheeler.com/secure-programs(...)) a tout un chapitre sur ce sujet.
Après avoir longement parlé de C/C++ (et justement de ProPolice et StackGuard), il termine par :

The problem of buffer overflows is an excellent argument for using other programming languages such as Perl, Python, Java, and Ada95. After all, nearly all other programming languages used today (other than assembly language) protect against buffer overflows.

Je sais bien qu'on ne fait pas toujours ce que l'on veut (le site de mon assoc http://www.ada-france.org/(...) doit bien tourner sur une machine à 95% avec des programmes en C alors qu'il fait la promotion du langage Ada).
Mais bon, il faut quand même rappeller cette évidence de temps en temps, histoire que tout le monde soit conscient que le temps énorme que l'on perd sur ces stupidités est facile à éviter dés le début d'un projet.

Lionel

  • [^]Re: Faille de sécurité importante dans Sendmail

    Posté par ptit_tux () le 04/03/2003 à 00:06. (lien). Évalué à 6.

    C'est repousser le problème. On finit toujours par une fonction C. Ce qui compte c'est la réutilisation du code, diminuer le nombre de ligne de code pour que les audites soit efficace. Et php, perl, etc... ont aussi épisodiquement des trous de sécurité.

    • [^]Re: Faille de sécurité importante dans Sendmail

      Posté par Raphaël SurcouF () le 04/03/2003 à 02:55. (lien). Évalué à 0.

      > Et php, perl, etc... ont aussi épisodiquement des trous de sécurité.

      Normal, ils sont écrits en C ;-)

      [^]Re: Faille de sécurité importante dans Sendmail

      Posté par Lionel Draghi (page perso, ) le 04/03/2003 à 08:02. (lien). Évalué à 1.

      Ce n'est pas repousser le problème, c'est le traiter là ou tu peux.
      Il n'y a évidemment pas de solution parfaite, et la faille peut-être dans les librairies appelées, mais tu aura 10 fois moins de problèmes de ce genre.
      C'est autant de temps supplémentaire que tu passera sous emacs et non sous gdb. A moins d'être debbugo-dépendant, c'est quand même le but, non?

    [^]Re: Faille de sécurité importante dans Sendmail

    Posté par Bernard Massot () le 04/03/2003 à 00:28. (lien). Évalué à 0.

    T'imagines sérieusement coder un serveur SMTP dans un autre langage que le C ??

    • [^]Re: Faille de sécurité importante dans Sendmail

      Posté par lorill (page perso, ) le 04/03/2003 à 08:21. (lien). Évalué à 3.

      oui

      [^]Re: Faille de sécurité importante dans Sendmail

      Posté par Lionel Draghi (page perso, ) le 04/03/2003 à 08:27. (lien). Évalué à 7.

      Mon trollomètre a frémis :-)
      Tu veux savoir si j'imagine d'utiliser un langage qui me permet de développer en 40% moins de temps avec 10 fois moins de défaut trouvé après release?
      Tu veux sérieusement que je réponde? :-)

      Je parle pour ce que je connais, Ada. Va voir dans http://libre.act-europe.fr/Software_Matters/(...) l'étude Ziegler dans Programming Languages and Software Construction.
      Maintenant si je dois développer un serveur SMTP from scratch sans Ada, et qu'on me prouve que Eiffel, Python ou le langage de la mére Denis présentent ne serais-ce qu'un quart de ces avantages, eh ben j'achète le Kernighan & Mère Denis et je m'y met.
      Parce que le soir, je préfère passer 1 heure avec mes enfants qu'avec gdb.

      Je sais, je sais, je ne suis décidement pas un vrai code warrior :-)

      • [^]Re: Faille de sécurité importante dans Sendmail

        Posté par Bernard Massot () le 04/03/2003 à 15:52. (lien). Évalué à 1.

        Dans le cas d'une appli comme un serveur de mails, la performance (tenue à la montée en charge) est une priorité, donc faire ça en python, en perl ou autre, ça me fait bien rire.

        • [^]Re: Faille de sécurité importante dans Sendmail

          Posté par Lionel Draghi (page perso, ) le 04/03/2003 à 20:17. (lien). Évalué à 2.

          Ta phrase commence raisonablement, mais derrière "ou autre" se cache un monde que tu ne sembles pas connaître. Ca n'a pas l'air de te géner pour lancer des phrases définitives.

          Il n'est bien sur pas question de Perl.
          Ada est un langage compilé. Ce qui fait la différence en terme de sécurité, c'est principalement la qualité de la conception du langage, et tout ce qu'il permet de vérifier à la compilation. Les (très utiles) checks ajouté à l'exécution peuvent être retirés par les options de compilation.
          Dans ce cas, tu ne perd rien en performance, mais tu gardes le bénefice des vérifications à la compilation.
          C'est probablement essentiellement la même chose pour Eiffel.

        [^]Re: Faille de sécurité importante dans Sendmail

        Posté par boubou (page perso, ) le 04/03/2003 à 20:35. (lien). Évalué à 0.

        Ca fait du bien de lire des posts comme le tient. C'est quand même incroyable cette révérence obsolue pour le C qui serait le langage de la mort qui tue, alors que tout ce que langage tue, c'est bien les programmeurs. Depuis le temps qu'il existe des alternatives dans plein de domaines, chacune adaptée aux besoins du domaine, comme Ada, Eiffel, python, Java, et même C++, c'est incroyable de voir le nombre de développeurs qui continuent à ne jurer que par le C ! Quand je pense que le moteur de doom 3 est développé en C++ (autour de la partie openGL, hein, cf http://www.gamespy.com/e32002/pc/carmack/(...)), l'argument du développement d'un serveur SMTP obligatoirement en C, ça me fait plus que marrer. D'ailleurs en parlant de jeux, de nombreux hits récents sont écrits en C++ (cf http://www.research.att.com/~bs/applications.html(...)). Bref.

        • [^]Re: Faille de sécurité importante dans Sendmail

          Posté par efuste () le 04/03/2003 à 22:03. (lien). Évalué à 2.

          Aie aie aie,
          Je sens que ca derape alors j'arreterai là.
          C++, ben ouais réécrivons tout en C++, le kernel, la libc (plonk), après on ecrira des super outils de la mort qui tu pour profiler systematiquement tout ca étant donné qu'aubout d'un moment, n'étant même plus capable de savoir ce que fait réellement le code, ben faut tracer, analyser, bencher a la methode vodoo, j'ty rajoute un pti buffer de truc par ci et par la sinon mon bastringue fait houatmille millier d'intanciations allocation desalocation secondes et ca ramme, ca bouffe de la ram. puis derière j'ty pond deux trois script magiques pour analyser les sections de code générées pour voir pourquoi mon "hello world" genère un code objet de 20Mo et alloue 100Mo de ram en runtime, pius après je me rend compte que mes trois putains de classes X Y et Z ben c'est caca et je devrai avoir à la place un truc genre V W, mais la je remet pas en cause l'implementation de mes objets, mais l'ensemble de la conception parce que de toute manière je sais plus comment est branlé tout le reste vu qu'il me faudra au moins 3 mois pour retrouver comment mon truc U derive de mon machin T lui même hérité de ..... Bon un pti pointeur bien placé par là et hop le tour et joué et puis dans tout ce merdier bien opaque (c'est la philo du machin, c'est bien ) personne n'y vera que du feu...
          Merde, ca rame quand même sur ma machine ben oais, ca s'apelle Mozilla.
          Et puis tous les developpeurs windows font du C++ non ? Ben oui, c'est MSVC++ le non du compilo non ?
          Quand à Carmack, il a eu le temp de le paufiner son design avant de passer au c++, Doom1 doom2, Quake 1,2,3 bon je lui fait confiance pour passer au c++ maintenant, puis on peut pas, à lui, reprocher le fait qu'il code en ++ "parceque c'est un super language qui resoud même le fons du pblm à ta place". Tu chi de la déclaration, des classes, de l'objet et hop ca marche, sinon ben c'est pas ta faute, c'est le compilo, c'est l'os, ben coment tu gère le truc T et le machin M ? Ha, j'sais pas c'est l'objet O, quel boulet le développeur de O. Par contre le design D, ca personne connais, et le développement incrémental si cher a notre comunauté OpenSource ca marche pas bien avec ++ ? ben c'est que c'est de la merde alors.

          Alors bon, c'est sur Mozilla est en ++ et l'histoire nous a montré que du coup il n'avait jamais de trou de sécurité....

          A la vue de la pluspart (j'ai pas dit tous .... mais a tout bien réfléchi, presque) tes posts dans cette news, y a deux solutions: Soit ca te fait simplement tripper de foutre la merde et d'exiter les gens avec des propos gratuitements provocateurs et sans intérêts réels (un trollermaster ?), a mois que ce soit dans l'expectative de te recycler dans la socio (nouvelle thèse ?), ou alors on a affaire a qq'un du style des types qui viennent de découvrir l'informatique depuis moins de 2 ans et qui savent tout sans avoir jamais rien fait genre adolescent boutoneu. Vu la date de ta Thèse, je penche plustot pour la première solution.

          Sans rancune.

          Un vieux con qui pense très sérieusement se recycler très prochainement dans la plomberie/electricité/maconerie.

          • [^]Re: Faille de sécurité importante dans Sendmail

            Posté par bleh () le 04/03/2003 à 23:27. (lien). Évalué à 1.

            Bof, ce dont tu parles tient plus de la complexité d'une grosse application que de défauts liés au C++. Aux dernières nouvelles, comprendre comment tout fonctionne dans un programme en C de 80000 lignes n'est pas beaucoup plus simple et en C on trouve aussi des hacks immondes qui rendent le code encore moins clair.
            En gros tu prends des exemples où il y'a abus dans l'utilisation du C++ (on est pas obligé de faire du polymorphisme, ni de l'héritage multiple à chaque fois qu'on développe) et tu en déduis que le C++ est une merde. Conclusion tu agis de la même façon que ceux que tu entends dénoncer. Le C a plein de défauts (le passage par valeur par exemple ou bien les chaines de caractères) et des langages tels que l'Ada, Eiffel ou autres essayent d'apporter une réponse plus efficace, ce n'est pas plus mal.
            Au passage, je suis un jeune con qui code en C et en C++ et je pense (du moins j'espère) savoir aprécier les 2 langages à leur juste valeur.

            [^]Re: Faille de sécurité importante dans Sendmail

            Posté par boubou (page perso, ) le 05/03/2003 à 08:25. (lien). Évalué à 1.

            Un instant, j'ai cru en lisant tes précédents commentaires que tu t'étais vraiment énervé et donc un peu lâché. Et puis voilà que tu glisses de nouveau vers l'attaque personnelle à deux centimes. Ton rant sur le C++ est tout simplement incompréhensible et ridicule. Quant à ta tentative de psychanalyse à partir de mon CV (et oui, si quelque souhaite savoir qui est boubou, il lui suffit de suivre un lien), je ne sais de quel nom la qualifier.

            Je ne tenterais donc pas une discussion sur l'aspect technique puisque tu te discalifies d'entrée.

            Pour finir sur une attaque personnelle, ton auto-définition me semble parfaitement bien choisie. Enfin, pour le vieux, je ne sais pas.

            • [^]Re: Faille de sécurité importante dans Sendmail

              Posté par Jihem () le 06/03/2003 à 11:05. (lien). Évalué à 1.

              Bravo mon cher Boubou: non content de dénigrer des programmes d'une manière facile, tu insultes les gens. Notes que si Emmanuel est un vieux con, je dois sans doute en être un aussi car j'ai exactement la même lecture que lui de tes différentes interventions et mis à part d'écrire que Sendmail est de la merde, je n'ai rien vu de bien constructif de ta part à la suite de cette news.

              Concernant Sendmail: je ne l'aime pas du tout et évite de l'utiliser lorsque c'est possible mais dans le même ordre d'idées, je n'aime pas Bernstein qui est suffisant et agressif. Manifestement, et pour avoir lu ses nombreux propos vénimeux sur Sendmail et Bind, tu te contentes de reprendre à ton compte ses avis et son ton. Je ne rentrerai pas dans le débat plus loin mais:
              -ce sont en effet les programmes les plus utilisés qui ont le plus de failles, c'est un fait et une explication, pas une excuse j'en conviens
              -pour me faire l'avocat du diable: j'ai un sendmail intégré à une distro d'un côté, de l'autre j'ai un qmail que je dois compiler (et patcher) pour le maintenir. Faire un rpm -i sendmail ou apt-get install sendmail même 2 fois par an à cause d'une faille est infiniment moins fastidieux que de patcher et recompiler qmail. Sur le plan pratique, ça ne tient donc pas.
              -la sécurité est un élément à remettre en cause en permanence et qmail n'est lui même absolument pas à l'abri d'une faille. King for a Day, Fool for a Lifetime!

              Par ailleurs:
              Boubou le 03/03:
              Ouai. Encore un argument facile pour se protéger des critiques portant sur une conception déplorable. Comme le disais ce cher pappy dans une autre news, la sécurité doit être au centre de la conception, pas rajoutée après. A mort sendmail (et bind aussi, d'ailleurs).

              Pappy le 28/02:
              Et puis, je ne comprends cette vision qui consiste à considérer la sécurité comme une espèce de truc bonus qu'on ajoute à la fin après tout le reste ... alors que c'est quand même plus facile, et souvent plus efficace, de l'intégrer directement dans le processus.

              Bref, tu ne fais qu'interprèter librement et radicaliser le discours de Pappy nettement moins péremptoire et plus réaliste. N'étant pas spécialiste de C++, je ne rentrerai pas dans le débat mais si ta lecture est aussi honnête intellectuellement que celle que tu viens de faire de l'avis de Pappy, tu me permettras de prendre tes remarques avec un certain recul.

              • [^]Re: Faille de sécurité importante dans Sendmail

                Posté par boubou (page perso, ) le 07/03/2003 à 19:58. (lien). Évalué à 1.

                tu insultes les gens C'est exact. Après avoir subit certains trolleurs boutoneux feraient mieux de fermer leurs gueules quand ils ne savent pas de quoi ils parlent., puis une sorte de tentative de psycologie à deux sous basée sur mon CV, j'ai estimé justifié qu'Emmanuel s'auto qualifiait très bien. Puisque que tu as passé quelque temps à rechercher mes citations, tu remarqueras que je n'ai attaqué directement personne, contraitement à Emmanuel qui n'a fait que ça. Effectivement, j'ai relayé les propos aggressifs de Bernstein sur sendmail et Bind, mais non sans avoir passé pas mal de temps à chercher les opinions contraires et à lire avec applications les argumentations de Bernstein et de ses contradicteurs. D'autre part, j'ai pas mal travaillé en génie logiciel et ton petit laïus sur plus on teste, plus ou trouve de faille, et roi un jour, bouffon l'autre me laisse perplexe. Mon expérience est qu'un logiciel mal conçu (comme sendmail) comporte toujours plus de bugs qu'un logiciel bien conçu, et que le nombre de failles graves découvertes dans un logiciel est une bonne indication de la qualité de sa conception. Notes bien que ton argumentation sur sendmail et la facilité de le réinstaller tiens pour n'importe quel logiciel open source, en particulier postfix dont la conception est bien plus propre que celle de sendmail. Sinon, ne t'inquiètes pas pour pappy, je le connais personnellement depuis quelques années et je ne pense pas déformer le fond de sa pensée.

    [^]Re: Faille de sécurité importante dans Sendmail

    Posté par Sidoine de Wispelaere (page perso, ) le 04/03/2003 à 08:38. (lien). Évalué à 3.

    Note qu'il est possible de faire du C++ sans le moindre pointeur, ce qui permet d'avoir un bon compromis entre fiabilité et rapidité/utilisation des ressources. Pas de problème de buffer overflow quand on utilise string et vector.

    [^]Re: Faille de sécurité importante dans Sendmail

    Posté par Guillaume Leclanche (page perso, ) le 04/03/2003 à 15:40. (lien). Évalué à 2.

    En parlant de langages alternatifs au C, j'ai eu récemment à écrire un algorithme, et comme mon programme globalement était en perl, j'ai d'abord écrit l'algo en perl.
    Premier test, durée de calcul: 15 minutes. Ah ouais.

    Alors je me démerde pour faire l'algo (seul) en C, et via un jeu de "piping" E/S, je l'appelle depuis le programme perl.
    Second test, durée de calcul: 2 secondes. Ah ouais.

    Juste pour dire que le C, quand même, c'est rapide.

    • [^]Re: Faille de sécurité importante dans Sendmail

      Posté par boubou (page perso, ) le 04/03/2003 à 17:07. (lien). Évalué à 1.

      Non, juste pour dire que Perl, quand même, c'est lent.

      • [^]Re: Faille de sécurité importante dans Sendmail

        Posté par Lionel Draghi (page perso, ) le 04/03/2003 à 20:24. (lien). Évalué à 1.

        Je n'aime pas Perl, mais comparer du compilé et de l'interprété, ce n'est pas très... fair play :)

        • [^]Re: Faille de sécurité importante dans Sendmail

          Posté par boubou (page perso, ) le 04/03/2003 à 20:38. (lien). Évalué à 1.

          Ouai, ouai, mais il fallait bien que quelqu'un la fasse, non ? Et puis bon, perl est censé être compilé au vol, non ?