Debians sikkerhedsbulletin

DSA-379-1 sane-backends -- flere sårbarheder

Rapporteret den:
11. sep 2003
Berørte pakker:
sane-backends
Sårbar:
Ja
Referencer i sikkerhedsdatabaser:
I Bugtraq-databasen (hos SecurityFocus): BugTraq-id 8593, BugTraq-id 8594, BugTraq-id 8595, BugTraq-id 8596, BugTraq-id 8597, BugTraq-id 8600.
I Mitres CVE-ordbog: CVE-2003-0773, CVE-2003-0774, CVE-2003-0775, CVE-2003-0776, CVE-2003-0777, CVE-2003-0778.
Yderligere oplysninger:

Alexander Hvostov, Julien Blache og Aurelien Jarno har opdaget flere sikkerhedsrelaterede problemer i pakken sane-backends, der indeholder et API-bibliotek til scannere og en scanner-dæmon (i pakken libsane), som kan fjernudnyttes. Disse problemer gør det muligt for en fjernangriber, at forsage en segmenteringsfejl og/eller opbruge vilkårlige mængder hukommelse. Angrebet lykkes, også selvom angriberens computer ikke er anført i saned.conf.

Man er kun sårbar, hvis man rent faktisk kører saned, for eksempel fra xinetd eller inetd. Hvis oplysningerne i xinitds henholdsvis initds opsætningsfil er udkommenteret eller ikke findes, er man sikker.

Prøv telnet localhost 6566 på den server, hvor saned måske kører. Får du meddelelsen "connection refused", kører saned ikke og du er sikker.

Projeket Common Vulnerabilities and Exposures har fundet frem til følgende problemer:

  • CAN-2003-0773:

    saned kontrollerer kun identiteten (IP-adressen) på den fjerne maskine efter den første kommunikation er forekommet (SANE_NET_INIT). Derfor kan alle sende dénne RPC, også selvom den fjerne maskine ikke har tilladelse til at scanne (dvs. ikke er anført i saned.conf).

  • CAN-2003-0774:

    saned mangler fejlkontroller næsten overalt i koden. Derfor opdages afbrudte forbindelser meget sent. Hvis den afbrudte forbindelse ikke opdages, beholder forbindelsen til den interne wire-buffer grænserne for den allokerede hukommelse. Derfor bliver tilfældig hukommelse "efter" wire-bufferen læst, hvilket fører til en segementeringsfejl.

  • CAN-2003-0775:

    Hvis saned forventer strenge, malloc'erers den nødvendige hukommelse til opbevaring af hele strenge, efter strengens størrelse er modtaget. Hvis forbindelsen afbrydes før størrelsen er blevet overført, reserverer malloc en vilkårlig mængde hukommelse. Afhængigt af denne størrelse og mængden af tilgængelig hukommelse, vil malloc gå ned (dvs. saned afbryder) eller en stor mængde hukommelse vil blive allokeret. Swapping og OOM-tiltag kan forekomme, afhængigt af kernen.

  • CAN-2003-0776:

    saned kontrollerer ikke om modtagne RPC-numre er gyldige, før den modtager parametrene.

  • CAN-2003-0777:

    Hvis fejlsøgningsmeddelelser er slået til og forbindelsen afbrydes, kan strenge der ikke er nul-afsluttede blive udskrevet og en segmenteringsfejl opstå.

  • CAN-2003-0778:

    Det er muligt at allokere en vilkårlig mængde hukommelse på serveren, der kører saned, selvom forbindelsen ikke afbrydes. For øjeblikket er det ikke noget, som let kan rettes iflg. forfatteren. Det er bedre at begrænse den totale mængde hukommelse, saned må bruge (ulimit).

I den stabile distribution (woody) er disse problemer rettet i version 1.0.7-4.

I den ustabile distribution (sid) er disse problemer rettet i version 1.0.11-1 and later.

Vi anbefaler at du opgraderer dine libsane-pakker.

Rettet i:

Debian GNU/Linux 3.0 (woody)

Kildekode:
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
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
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
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
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
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
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
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
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
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
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
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

MD5-kontrolsummer for de listede filer findes i den originale sikkerhedsbulletin.