CERTA-2000-AVI-024

Vulnerability from certfr_avis - Published: - Updated:

Plusieurs débordements de piles ont été détectés dans les librairies et les programmes d'impressions de Solaris. Ils permettent à un utilisateur local d'exécuter du code et d'obtenir les privilèges root.

Des exploitations de ces vulnérabilités ont été largement diffusées sur internet.

Description

L'utilitaire lpset permet de mettre les informations de configuration de l'imprimante dans la base de données de configuration du système. Cet outil utilise la librairie libprint.so.2 qui présente une faille. Un utilisateur local mal intentionné peut exécuter du code grâce à un dépassement de mémoire de la commande lpset -r à une zone mémoire tampon habilement construite (l'option -r de lpset n'est pas documentée, donc peu connue).

Un autre débordement de pile est possible dans l'exécutable /usr/lib/lp/bin/netpr utilisée par les commandes d'impression pour envoyer les données vers une imprimante en passant par un réseau.

Il en est de même avec la commande beaucoup plus connue : lp suivie de l'option -d

L'utilisateur mal intentionné peut, dans chacun des cas, exécuter du code afin d'obtenir les privilèges root.

Contournement provisoire

Il est possible de supprimer le caractère suid, pour les commandes lpset et lp et netpr, mais cela aura pour effet d'en empêcher l'exécution par un utilisateur sans privilèges root.

      chmod a-s `find / -name lp -print`

      chmod a-s `find / -name lpset -print`

      chmod a-s `find / -name netpr -print`

Sous Solaris 2.6, 2.7 et 2.8, une solution temporaire mais pas totalement efficace (car elle peut être contournée à son tour) consiste à inhiber l'exécution de code situé dans la pile. Pour cela, ajoutez les variables suivantes dans le fichier /etc/system :

     set noexec_user_stack=1

     set noexec_user_stack_log=1

Redémarrer la machine après avoir effectué cette modification.

Solution

Il faut appliquer les correctifs de Sun disponibles aux adresses suivantes :

  • Sous Solaris 8

    http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=109320&method=F
    
  • Solaris 8_x86

    http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=109321&method=F
    
  • Solaris 7

    http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=107115&method=F
    
  • Solaris 7_x86

    http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=107116&method=F
    
  • Solaris 2.6

    http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=106235&method=F
    
  • Solaris 2.6_x86 (SunOS 5.6)

    http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=106236&method=F
    
  • Solaris 2.5.1

    http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=103948&method=F
    
  • Solaris 2.5 (SunOS 5.5)

    http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=102964&method=F
    
  • Solaris 2.5_x86

    http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=102959&method=F
    
  • Solaris 2.4 (SunOS 5.4)

    http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=101317&method=F
    
  • Solaris 2.4_x86

    http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=101962&method=F
    

Ces correctifs, rectifient aussi d'autres erreurs dans l'implémentation de lp.

Impacted products
Vendor Product Description
N/A N/A SunOS, Solaris.
References

Show details on source website

{
  "$ref": "https://www.cert.ssi.gouv.fr/openapi.json",
  "affected_systems": [
    {
      "description": "SunOS, Solaris.",
      "product": {
        "name": "N/A",
        "vendor": {
          "name": "N/A",
          "scada": false
        }
      }
    }
  ],
  "affected_systems_content": "",
  "content": "## Description\n\nL\u0027utilitaire lpset permet de mettre les informations de configuration de\nl\u0027imprimante dans la base de donn\u00e9es de configuration du syst\u00e8me. Cet\noutil utilise la librairie libprint.so.2 qui pr\u00e9sente une faille. Un\nutilisateur local mal intentionn\u00e9 peut ex\u00e9cuter du code gr\u00e2ce \u00e0 un\nd\u00e9passement de m\u00e9moire de la commande lpset -r \u00e0 une zone m\u00e9moire tampon\nhabilement construite (l\u0027option -r de lpset n\u0027est pas document\u00e9e, donc\npeu connue).\n\nUn autre d\u00e9bordement de pile est possible dans l\u0027ex\u00e9cutable\n/usr/lib/lp/bin/netpr utilis\u00e9e par les commandes d\u0027impression pour\nenvoyer les donn\u00e9es vers une imprimante en passant par un r\u00e9seau.\n\nIl en est de m\u00eame avec la commande beaucoup plus connue : lp suivie de\nl\u0027option -d\n\nL\u0027utilisateur mal intentionn\u00e9 peut, dans chacun des cas, ex\u00e9cuter du\ncode afin d\u0027obtenir les privil\u00e8ges root.\n\n## Contournement provisoire\n\nIl est possible de supprimer le caract\u00e8re suid, pour les commandes lpset\net lp et netpr, mais cela aura pour effet d\u0027en emp\u00eacher l\u0027ex\u00e9cution par\nun utilisateur sans privil\u00e8ges root.\n\n          chmod a-s `find / -name lp -print`\n\n          chmod a-s `find / -name lpset -print`\n\n          chmod a-s `find / -name netpr -print`\n\nSous Solaris 2.6, 2.7 et 2.8, une solution temporaire mais pas\ntotalement efficace (car elle peut \u00eatre contourn\u00e9e \u00e0 son tour) consiste\n\u00e0 inhiber l\u0027ex\u00e9cution de code situ\u00e9 dans la pile. Pour cela, ajoutez les\nvariables suivantes dans le fichier /etc/system :\n\n         set noexec_user_stack=1\n\n         set noexec_user_stack_log=1\n\nRed\u00e9marrer la machine apr\u00e8s avoir effectu\u00e9 cette modification.\n\n## Solution\n\nIl faut appliquer les correctifs de Sun disponibles aux adresses\nsuivantes :\n\n-   Sous Solaris 8\n\n        http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=109320\u0026method=F\n\n-   Solaris 8_x86\n\n        http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=109321\u0026method=F\n\n-   Solaris 7\n\n        http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=107115\u0026method=F\n\n-   Solaris 7_x86\n\n        http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=107116\u0026method=F\n\n-   Solaris 2.6\n\n        http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=106235\u0026method=F\n\n-   Solaris 2.6_x86 (SunOS 5.6)\n\n        http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=106236\u0026method=F\n\n-   Solaris 2.5.1\n\n        http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=103948\u0026method=F\n\n-   Solaris 2.5 (SunOS 5.5)\n\n        http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=102964\u0026method=F\n\n-   Solaris 2.5_x86\n\n        http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=102959\u0026method=F\n\n-   Solaris 2.4 (SunOS 5.4)\n\n        http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=101317\u0026method=F\n\n-   Solaris 2.4_x86\n\n        http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=101962\u0026method=F\n\nCes correctifs, rectifient aussi d\u0027autres erreurs dans l\u0027impl\u00e9mentation\nde lp.\n",
  "cves": [],
  "links": [
    {
      "title": "Avis de s\u00e9curit\u00e9 de Sun concernant les d\u00e9bordements de pile  des outils d\u0027impression :",
      "url": "http://sunsolve.sun.com/pub-cgi/retrieve.pl?doctype=coll\u0026doc=secbull/195\u0026type=0\u0026nav=sec.sba"
    },
    {
      "title": "Les avis de s\u00e9curit\u00e9 r\u00e9cents de Sun sont tous \u00e0 cette adresse :",
      "url": "http://sunsolve.sun.com/pub-cgi/secBulletin.pl"
    }
  ],
  "reference": "CERTA-2000-AVI-024",
  "revisions": [
    {
      "description": "version initiale.",
      "revision_date": "2000-08-08T00:00:00.000000"
    }
  ],
  "risks": [
    {
      "description": "Ex\u00e9cution de code arbitraire"
    },
    {
      "description": "\u00c9l\u00e9vation de privil\u00e8ges"
    }
  ],
  "summary": "Plusieurs d\u00e9bordements de piles ont \u00e9t\u00e9 d\u00e9tect\u00e9s dans les librairies et\nles programmes d\u0027impressions de Solaris. Ils permettent \u00e0 un utilisateur\nlocal d\u0027ex\u00e9cuter du code et d\u0027obtenir les privil\u00e8ges \u003cspan\nclass=\"textit\"\u003eroot\u003c/span\u003e.\n\nDes exploitations de ces vuln\u00e9rabilit\u00e9s ont \u00e9t\u00e9 largement diffus\u00e9es sur\ninternet.\n",
  "title": "Vuln\u00e9rabilit\u00e9s dans les programmes et librairies d\u0027impression sous Solaris",
  "vendor_advisories": [
    {
      "published_at": "2000-08-08",
      "title": "Avis du CERT IST",
      "url": "None"
    },
    {
      "published_at": "2000-08-08",
      "title": "Bulletin de s\u00e9curit\u00e9 de Sun",
      "url": "None"
    },
    {
      "published_at": "2000-08-08",
      "title": "Bugtraq",
      "url": "None"
    }
  ]
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…