Рекомендация Debian по безопасности
DSA-379-1 sane-backends -- различные уязвимости
- Дата сообщения:
- 11.09.2003
- Затронутые пакеты:
- sane-backends
- Уязвим:
- Да
- Ссылки на базы данных по безопасности:
- В базе данных Bugtraq (на SecurityFocus): Идентификатор BugTraq 8593, Идентификатор BugTraq 8594, Идентификатор BugTraq 8595, Идентификатор BugTraq 8596, Идентификатор BugTraq 8597, Идентификатор BugTraq 8600.
В каталоге Mitre CVE: CVE-2003-0773, CVE-2003-0774, CVE-2003-0775, CVE-2003-0776, CVE-2003-0777, CVE-2003-0778. - Более подробная информация:
-
Александр Хвостов, Жюльен Блаш (Julien Blache) и Аурелиэн Харно (Aurelien Jarno) обнаружили несколько связанных с безопасностью ошибок в пакете sane-backends, содержащем библиотеку API для сканеров, включая демон сканирования (в пакете libsane), которые могут использоваться удалённым нападающим. Эти проблемы позволяют нападающему вызвать ошибку сегментации и/или израсходовать произвольный объём памяти. Атака проходит успешно даже если компьютер нападающего не указан в файле in saned.conf.
Ваш компьютер уязвим только если вы действительно запустили saned, например из xinetd или inetd. Если соответствующие строки файла конфигурации xinetd или inetd закомментированы или не существуют, вы в безопасности.
Попытайтесь выполнить команду "telnet localhost 6566" на сервере, на котором, возможно, работает saned. Если вы получаете отклик "connection refused" ("соединение отвергнуто"), saned не запущен и вы в безопасности.
Проект Common Vulnerabilities and Exposures идентифицировал следующие проблемы:
- CAN-2003-0773:
saned проверяет, с каким удалённым хостом он соединяется (т.е. его IP-адрес), только после первого соединения (SANE_NET_INIT). Таким образом, кто угодно может отправить этот RPC, даже если удалённый хост не позволяет сканирование (не указан в файле saned.conf).
- CAN-2003-0774:
saned осуществляет слишком мало проверок на ошибки почти во всём коде. Таким образом, обрыв соединения определяется чересчур поздно. Если обрыв соединения прошёл незамеченным, доступ к внутреннем буферу выходит за пределы выделенной памяти. При этом будет прочитана некоторая область памяти "после" буфера, что приведёт к ошибке сегментации.
- CAN-2003-0775:
Если saned ожидает получить строку, он выделяет область памяти, необходимую для сохранения полной строки после того, как получает её размер. Если соединение обрывается до пересылки размера, malloc выделит произвольную область памяти. В зависимости от размера и количества доступной памяти либо произойдёт ошибка при вызове malloc (->saned корректно завершит работу), либо будет выделен большой объём памяти. В зависимости от ядра могут произойти ошибки подкачки или измерения OOM.
- CAN-2003-0776:
saned не проверяет корректность номеров полученных им RPC перед тем, как получить параметры.
- CAN-2003-0777:
Если при включенном режиме отладочных сообщений обрывается соединение, могут быть выведены строки без завершающего нулевого байта, и может произойти ошибка сегментации.
- CAN-2003-0778:
Можно выделить произвольный объём памяти на сервере, где работает saned, даже если соединение разорвано. В данный момент, по словам автора программы, это не поддаётся исправлению. Лучше ограничить общий объём памяти saned (ulimit).
В стабильном дистрибутиве (woody) эта проблема исправлена в версии 1.0.7-4.
В нестабильном дистрибутиве (sid) эта проблема исправлена в версиях 1.0.11-1 и более поздних.
Мы рекомендуем вам обновить пакеты libsane.
- CAN-2003-0773:
- Исправлено в:
-
Debian GNU/Linux 3.0 (woody)
- Исходный код:
- 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 этих файлов доступны в исходном сообщении.