You are here: Home » Aktuelle Meldungen » Meldung
Sorry, this page is not translated yet.
Meldung Nr: RUS-CERT-803

[Sun/Solaris] Format-String-Schwachstelle in rpc.rwalld
(2002-05-01 15:21:02+00) Druckversion

Quelle: http://cert.uni-stuttgart.de/archive/bugtraq/2002/04/msg00432.html

Ein unter Solaris automatisch aktivierter RPC-Dienst enthält eine Format-String-Schwachstelle, die es einem Angreifer erlaubt, über eine Netzverbindung root-Rechte zu erlangen.

Betroffene Systeme

  • Solaris 2.6, 7, und 8
Ob Solaris 9 Beta betroffen ist, ist unklar.

Einfallstor
Nutzung des rpc.rwalld-Dienstes. Typischerweise werden für RPC-Dienste UDP-Portnummern im Bereich 32700 bis 33000 dynamisch vergeben. (Anderslautenden Informationen, denen zufolge die Port-Nummer konstant ist, sollte nicht blind vertraut werden.)

Auswirkung
Ein Angreifer kann über eine Netzverbindung root-Rechte erlangen.
(remote root compromise)

Typ der Verwundbarkeit
format string bug

Gefahrenpotential
sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)

Beschreibung
Der Dienst rpc.rwalld bietet die Funktionalität des Programms wall über das Netz an. Dazu wird dieses Programm auf eine RPC-Anfrage hin aufgerufen. Unter Solaris wird die übergegebene Nachricht in unsicherer Weise per Syslog aufgezeichnet, falls der Aufruf des wall-Programms aus irgend einem Grund fehlschlägt. Dadurch kann ein Angreifer beliebigen Code mit den Rechten des rpc.rwalld-Prozesses ausführen, typischerweise sind dies root-Rechte.

Andere rpc.rwalld-Implementierungen (wie die auf GNU/Linux-Systemen häufig verwendete netkit-rwall-Fassung) sind von dieser Schwachstelle nicht betroffen.

Feststellen der Verwundbarkeit
Es sind nur Systeme betroffen, die den rpc.rwalld-Dienst anbieten. Der entsprechende RPC-Dienst trägt den Namen walld; RPC-Dienste auf dem lokalen System können mit dem Befehl "rpcinfo -p" angezeigt werden:

$ rpcinfo -p
   program vers proto   port  service
    [...]
    100133    1   tcp  32772
    100011    1   udp  32782  rquotad
    100008    1   udp  32783  walld
    100021    1   udp   4045  nlockmgr
    100021    2   udp   4045  nlockmgr
    100021    3   udp   4045  nlockmgr
    [...]
$ 
Auf einem betroffenen System wird - wie oben - der RPC-Dienst walld aufgeführt.

Workaround

  • Abschalten des rpc.rwalld-Dienstes.

    Dies kann durch das Auskommentieren der "walld/1"-Zeile in /etc/inetd.conf geschehen. Dazu muß die Zeile

    walld/1         tli     rpc/datagram_v  wait root
            /usr/lib/netsvc/rwall/rpc.rwalld      rpc.rwalld
    
    durch
    #walld/1         tli     rpc/datagram_v  wait root
            /usr/lib/netsvc/rwall/rpc.rwalld      rpc.rwalld
    
    ersetzt werden. Ferner sollte das zukünftige Ausführen des Programmes durch Entfernen der entsprechenden Bits verhindert werden:
    $ su
    Password: password
    # chmod 000 /usr/lib/netsvc/rwall/rpc.rwalld
    # 
    

    Nach diesen Maßnahmen ist ein Reboot nötig. Alternativ kann inetd neu gestartet werden (mit "kill -HUP PID_von_inetd", die PID ist 323 im Beispiel):

    # ps -ef | grep inetd
        root   323     1  0   Mar 09 ?        1:36 /usr/sbin/inetd -s
       rusfw 14180 13502  0 15:29:28 pts/15   0:00 grep inetd
    # kill -HUP 323
    # 
    
    Ferner muß geprüft werden, ob der rpc.rwalld-Dienst läuft:
    # ps -ef | grep rpc
        root    241     1  0   Mar 09 ?        1:13 /usr/sbin/rpcbind
        root   9736   323  0 21:43:32 ?        0:00 rpc.rwalld
    # 
    
    Falls das der Fall ist, sollte mit "kill -9 PID_von_rpc.rwalld" der Prozeß beendet werden, also in diesem Beispiel:
    # kill -9 9736
    #
    

Gegenmaßnahmen
Einspielen der folgenden Patches von Sun:

Vulnerability ID

Weitere Information zu diesem Thema

(fw)

Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.

Copyright © 2017 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/

Vorherige Meldung Weitere Meldungen... Nächste Meldung

Bitte lesen Sie auch die Grundsätze, nach denen das RUS-CERT Tickermeldungen veröffentlicht. Der regelmäßige Bezug von Tickermeldungen über E-Mail und RSS-Feed ist ebenfalls möglich.