Säkerhetsbulletin från Debian

DSA-379-1 sane-backends -- flera sårbarheter

Rapporterat den:
2003-09-11
Berörda paket:
sane-backends
Sårbara:
Ja
Referenser i säkerhetsdatabaser:
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-förteckning: CVE-2003-0773, CVE-2003-0774, CVE-2003-0775, CVE-2003-0776, CVE-2003-0777, CVE-2003-0778.
Ytterligare information:

Alexander Hvostov, Julien Blache och Aurelien Jarno upptäckte flera säkerhetsrelaterade problem i paketet sane-backends, vilket innehåller ett API-bibliotek för bildläsare samt en bildläsarserver (i paketet libsane) som kan utnyttjas utifrån. Dessa problem gör det möjligt för en angripare utifrån att orsaka ett segmenteringsfel och/eller konsumera godtyckliga mängder minne. Angreppet lyckas även om angriparens dator inte listas i saned.conf.

Du är enbart sårbar om du bara kör saned via xinetd eller inetd eller liknande. Om posterna i konfigurationsfilerna för xinetd respektive inetd är utkommenterade eller inte existerar, är du säker.

Testa ”telnet localhost 6566” på servern som kan köra saned. Om du får ”förbindelse vägras” körs inte saned och du är säker.

Projektet Common Vulnerabilities and Exposures identifierar följande problem:

  • CAN-2003-0773:

    Saned kontrollerar inte identiteten (IP-adressen) hos fjärrvärden förrän efter den första kommunikationen ägde rum (SANE_NET_INIT). Så alla kan sända RPC, även om fjärrvärden inte tillåts läsa in bilder (inte finns med i saned.conf).

  • CAN-2003-0774:

    Saned saknar felkontroll i stort sett överallt i koden, så avbrutna förbindelser upptäcks väldigt sent. Om den avbrutna förbindelsen inte upptäcks begränsas inte tillgången till den interna databufferten av det allokerade minnet, vilket gör att slumpmässigt minne ”efter” databufferten läses, något som kommer att orsaka ett segmenteringsfel.

  • CAN-2003-0775:

    Om saned förväntar sig strängar allokerar det det minne som behövs för att lagra den fullständiga strängen när den tagit emot storleken på strängen. Om förbindelsen bröts innan storleken sänts kommer malloc att reservera en godtycklig mängd minne. Beroende på den storleken och mängden tillgängligt minne misslyckas antingen malloc (→ saned avslutar korrekt) eller så allokeras stora mängder minne. Växling och slut-på-minne-funktioner kan utlösas beroende på kärnan.

  • CAN-2003-0776:

    Saned kontrollerar inte giltigheten på de RPC-nummer det får innan parametrarna hämtas.

  • CAN-2003-0777:

    Om felsökningsmeddelanden har aktiverats och förbindelsen bryts, kan icke-nullterminerade strängar skrivas ut och segmenteringsfel kan orsakas.

  • CAN-2003-0778:

    Det är möjligt att allokera en godtycklig mängd minne på servern som kör saned även om förbindelsen inte bryts. För närvarande kan detta enligt författaren inte enkelt korrigeras. Bästa lösningen är att begränsa den totala mängden minne saned kan använda (ulimit).

För den stabila utgåvan (Woody) har detta problem rättats i version 1.0.7-4.

För den instabila utgåvan (Sid) har detta problem rättats i version 1.0.11-1 och senare.

Vi rekommenderar att ni uppgraderar era libsane-paket.

Rättat i:

Debian GNU/Linux 3.0 (woody)

Källkod:
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-kontrollsummor för dessa filer finns i originalbulletinen.