[GNU/Linux] IRC-Unterstützung in netfilter kann Paketfilter aushebeln
(2002-03-01 21:51:01+00)
Quelle:
http://www.netfilter.org/security/2002-02-25-irc-dcc-mask.html
Durch einen Fehler in der IRC-Verbindungsverfolgung kann ein Angreifer unter Umständen den Paketfilter instruieren, weitestgehend beliebige TCP-Verbindungen durchzulassen.
Betroffene Systeme
- Systeme mit Linux von 2.4.14 bis 2.4.18pre8 einschließlich, die das
netfilter
-Modulip_conntrack_irc
verwenden und als Paketfilter für ein Netz agieren.
Nicht betroffene Systeme
- Systeme, die die korrigierte Kernel-Version 2.4.18 verwenden.
- Linux 2.2 verwendet ipchains; darauf basierende Systeme sind daher nicht betroffen.
Einfallstor
IRC-DCC-Verbindungen
Auswirkung
Der Paketfilter markiert pakete als RELATED
(zu einer bestehenden Verbindung gehörig), obwohl sie es nicht sind. Die weiteren Auswirkungen hängen von den Regeln ab; i.d.R. dürfte dies zum unbeabsichtigten Durchlassen von Paketen führen.
Typ der Verwundbarkeit
Implementationsfehler
Gefahrenpotential
mittel bis sehr hoch (je nach Struktur des Netzes)
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibung
Eine IRC-Sitzung besteht bei der Verwendung von DCC aus mehreren TCP-Verbindungen, deren Aufbau in unterschiedliche Richtungen abläuft (ähnlich wie bei FTP). Ein Paketfilter, der die vollständige IRC-Funktionalität nutzbar machen möchte, ist daher darauf angewiesen, die sekundären TCP-Verbindungen nutzbar zu machen.
Der netfilter
-Kernel-Code enthält zu diesem Zweck das Modul ip_conntrack_irc
. Zu einer IRC-Verbindung werden aber nicht nur alle für DCC-Verbindungen zu einem bestimmten TCP-Port auf einem bestimmten Host als zugehörig angesehen, sondern alle TCP-Verbindungen zu diesem Port auf allen Hosts. Dies reißt unter Umständen eine große Lücke im Paketfilter.
Damit der Fehler tatsächlich von einem Angreifer ausgenutzt werden kann, müssen folgende Voraussetzungen erfüllt sein:
netfilter
/iptables
muß aktiviert sein.- IRC connection tracking muß verwendet werden. Dazu ist notwendig, daß die entsprechende Option bei der Kernel-Kompilierung aktiviert wurde und/oder das Kernel-Modul
ip_conntrack_irc
geladen wurde. - Es muß eine Regel wie
iptables -A FORWARD -m state --state ESTABLISHED, RELATED -j ACCEPT
in der Konfiguration des Paketfilters auftauchen ("RELATED
" ist hier entscheidend). - Der Paketfilter muß mehrere IP-Adressen schützen.
Die Schwachstelle wird dann kritisch, wenn auf einer Seite des Paketfilters ein System steht, welches ein Angreifer dazu verleiten kann, DCC-Verbindungen auf einem bestimmten TCP-Port entgegenzunehmen. Der Angreifer kann dann auch zu anderen, sonst geschützten Systemen Verbindungen mit diesem TCP-Port aufbauen.
Gegenmaßnahmen
- Aktualisierung auf Linux 2.4.18 bzw. das Einspielen des Patches aus dem Advisory oder von Vendor-Patches.
Workaround
- Downgrade auf Linux 2.2 - für kritische Filter ist derzeit noch
ipchains
zu empfehlen. Es ist leider immer noch wahrscheinlich, daß weitere derartige Fehler im Paketfilter der 2.4-Serie auftauchen, insbesondere im Zusammenhang mit NAT/Masquerading und connection tracking (vgl. auch einen ähnlichen Fehler in der Behandlung von FTP).
Vulnerability ID
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 © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=726