Debian-Sicherheitsankündigung
DSA-379-1 sane-backends -- Mehrere Verwundbarkeiten
- Datum des Berichts:
- 11. Sep 2003
- Betroffene Pakete:
- sane-backends
- Verwundbar:
- Ja
- Sicherheitsdatenbanken-Referenzen:
- In der Bugtraq-Datenbank (bei SecurityFocus): BugTraq ID 8593, BugTraq ID 8594, BugTraq ID 8595, BugTraq ID 8596, BugTraq ID 8597, BugTraq ID 8600.
In Mitres CVE-Verzeichnis: CVE-2003-0773, CVE-2003-0774, CVE-2003-0775, CVE-2003-0776, CVE-2003-0777, CVE-2003-0778. - Weitere Informationen:
-
Alexander Hvostov, Julien Blache und Aurelien Jarno entdeckten mehrere sicherheitsrelevante Probleme im sane-backends Paket, das eine API-Bibliothek für Scanner enthält, die einen Scanning-Daemon (im Paket libsane) enthält, der entfernt ausgenutzt werden kann. Diese Probleme erlauben es einem entfernten Angreifer, einen Segmentation-Fehler auszulösen und/oder willkürliche Mengen an Speicher zu verbrauchen. Der Angriff ist erfolgreich, selbst wenn der Rechner des Angreifers nicht in der saned.conf eingetragen ist.
Sie sind nur angreifbar, wenn Sie saned tatsächlich starten, z.B. in xinetd oder inetd. Falls die Einträge in der Konfigurationsdatei von xinetd oder inetd entsprechend auskommentiert oder nicht vorhanden sind, sind Sie sicher.
Versuchen Sie »telnet localhost 6566« auf dem Server, auf dem saned laufen dürfte. Falls Sie ein »connection refused« erhalten, läuft saned nicht und Sie sind sicher.
Das Common Vulnerabilities and Exposures Projekt identifiziert die folgenden Probleme:
- CAN-2003-0773:
saned prüft die Identität (IP-Adresse) des entfernten Rechners erst, nachdem die ersten Nachrichten ausgetauscht wurden (SANE_NET_INIT). Daher kann jeder dieses RPC schicken, selbst wenn es dem entfernten Rechner nicht erlaubt ist, zu scannen (nicht in saned.conf eingetragen).
- CAN-2003-0774:
saned fehlt beinahe überall im Code eine Fehlerprüfung. Daher werden unterbrochene Verbindungen erst sehr spät erkannt. Wenn die Unterbrechung der Verbindung nicht erkannt wird, behält der Zugriff auf den internen Wire-Puffer die Grenzen des reservierten Speichers. Daher wird zufälliger Speicher "nach" dem Wire-Puffer gelesen, was zu einem Segmentation-Fehler führt.
- CAN-2003-0775:
Wenn saned Zeichenketten erwartet, reserviert es den benötigten Speicher, um die komplette Zeichenkette zu speichern, nachdem die Größe der Zeichenkette übermittelt wurde. Falls die Verbindung unterbrochen wurde, bevor die Größe übertragen wurde, reserviert malloc eine willkürliche Speichergröße. Abhängig von der Größe und der Menge von verfügbarem Speicher scheitert malloc (->saned beendet sich sauber) oder eine große Speichermenge wird reserviert. Swapping und OOM-Maßnahmen könnten abhängig vom Kernel auftreten.
- CAN-2003-0776:
saned prüft nicht die Gültigkeit von RPC-Nummern, die vor den Parametern erhalten werden.
- CAN-2003-0777:
Falls Debug-Meldungen aktiviert sind und eine Verbindung unterbrochen wird, können nicht-NULL terminierte Zeichenketten ausgegeben werden und Segmentation-Fehler auftreten.
- CAN-2003-0778:
Es ist möglich, eine willkürliche Speichermenge auf dem Server zu reservieren, auf dem saned läuft, selbst wenn die Verbindung nicht unterbrochen wird. Im Augenblick kann dies entsprechend dem Autor nicht leicht behoben werden. Beschränken Sie besser die gesamte Speichermenge, die saned verwenden darf (ulimit).
Für die stable Distribution (Woody) wurde dieses Problem in Version 1.0.7-4 behoben.
Für die unstable Distribution (Sid) wurde dieses Problem in Version 1.0.11-1 und neuer behoben.
Wir empfehlen Ihnen, Ihre libsane-Pakete zu aktualisieren.
- CAN-2003-0773:
- Behoben in:
-
Debian GNU/Linux 3.0 (woody)
- Quellcode:
- http://security.debian.org/pool/updates/main/s/sane-backends/sane-backends_1.0.7-4.dsc
- http://security.debian.org/pool/updates/main/s/sane-backends/sane-backends_1.0.7-4.diff.gz
- http://security.debian.org/pool/updates/main/s/sane-backends/sane-backends_1.0.7.orig.tar.gz
- http://security.debian.org/pool/updates/main/s/sane-backends/sane-backends_1.0.7-4.diff.gz
- Alpha:
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane_1.0.7-4_alpha.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_alpha.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_alpha.deb
- ARM:
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane_1.0.7-4_arm.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_arm.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_arm.deb
- Intel IA-32:
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane_1.0.7-4_i386.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_i386.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_i386.deb
- Intel IA-64:
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane_1.0.7-4_ia64.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_ia64.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_ia64.deb
- HPPA:
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane_1.0.7-4_hppa.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_hppa.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_hppa.deb
- Motorola 680x0:
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane_1.0.7-4_m68k.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_m68k.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_m68k.deb
- Big endian MIPS:
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane_1.0.7-4_mips.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_mips.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_mips.deb
- Little endian MIPS:
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane_1.0.7-4_mipsel.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_mipsel.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_mipsel.deb
- PowerPC:
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane_1.0.7-4_powerpc.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_powerpc.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_powerpc.deb
- IBM S/390:
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane_1.0.7-4_s390.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_s390.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_s390.deb
- Sun Sparc:
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane_1.0.7-4_sparc.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_sparc.deb
- http://security.debian.org/pool/updates/main/s/sane-backends/libsane-dev_1.0.7-4_sparc.deb
MD5-Prüfsummen der aufgeführten Dateien stehen in der ursprünglichen Sicherheitsankündigung zur Verfügung.