Debian セキュリティ勧告
DSA-379-1 sane-backends -- 複数の脆弱性
- 報告日時:
- 2003-09-11
- 影響を受けるパッケージ:
- sane-backends
- 危険性:
- あり
- 参考セキュリティデータベース:
- (SecurityFocus の) Bugtraq データベース: BugTraq ID 8593, BugTraq ID 8594, BugTraq ID 8595, BugTraq ID 8596, BugTraq ID 8597, BugTraq ID 8600.
Mitre の CVE 辞書: CVE-2003-0773, CVE-2003-0774, CVE-2003-0775, CVE-2003-0776, CVE-2003-0777, CVE-2003-0778. - 詳細:
-
Alexander Hvostov さんと Julien Blache さんと Aurelien Jarno さんが、sane-backends パッケージに複数のセキュリティ関連の問題を発見しました。 これにはスキャン用デーモン (パッケージ libsane による) 等、スキャナ用の API ライブラリが含まれ、リモートから悪用可能です。 この問題はリモートの攻撃者にセグメンテーション違反や任意の量のメモリ消費を許します。 攻撃者のコンピュータが saned.conf に記載されていない場合でも攻撃は成功します。
saned を、例えば xinetd や inetd 等で実際に実行している場合に限り脆弱です。 xinetd や inetd それぞれに設定ファイル中の当該エントリがコメントアウト、 あるいは存在しない場合は安全です。
saned を実行している可能性のあるサーバで「telnet localhost 6566」を試してみてください。「connection refused」が返ってきた場合、saned は実行されておらず安全です。
The Common Vulnerabilities and Exposures project は以下の問題を認識しています:
- CAN-2003-0773:
saned は最初の通信 (SANE_NET_INIT) が始まった後にのみ、リモートホストの識別子 (IP アドレス) を確認します。そのため、リモートホストがスキャンを許可されていなくても (saned.conf に記載されていなくても) その RPC を誰でも送ることができます。
- CAN-2003-0774:
saned はほぼ全面的にコードのエラーチェックを欠いています。 そのため、接続の切断の検出がとても遅れます。 接続の切断が検出されなければ、内部の wire バッファにアクセスすることにより 割り当てたメモリの限度はそのままになります。そのために、セグメンテーション違反に続く wire バッファの「後」にランダムメモリが読み込まれます。
- CAN-2003-0775:
saned が文字列を要求すると、 文字列のサイズを受け取った後に文字列全体を記憶するために必要となるメモリを確保します。 サイズの転送前に接続が切断されると、malloc は任意の量のメモリを予約します。 そのサイズと利用可能なメモリの量により、malloc は機能しなくなる (->saned が見事に落ちる) か大量のメモリを割り当てます。 カーネルによりますが、スワップおよびメモリ不足が発生する可能性があります。
- CAN-2003-0776:
saned は取得する RPC 番号の正当性をパラメータ取得前に検証していません。
- CAN-2003-0777:
デバッグメッセージが有効になっていて接続が切断された場合、null 以外の終端文字列が表示されてセグメンテーション違反が発生する可能性があります。
- CAN-2003-0778:
接続が切断されなくても、saned が実行されているサーバで任意の量のメモリを割り当てることが可能です。 作者によると、今のところ簡単に修正することはできません。 saned が使えるメモリの総量 (ulimit) を制限しておくのが良いでしょう。
安定版 (stable) ディストリビューション (woody) では、この問題はバージョン 1.0.7-4 で修正されています。
不安定版 (unstable) ディストリビューション (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 チェックサムは勧告の原文にあります。