SIM フリーどさにっき 〜2014年11月中旬〜

by やまや
<< = >>

2014年11月11日(火)

NetBSD edns0 (fixed)

_ NetBSD でリゾルバの edns0 対応が腐ってた件、やっと修正を コミットしてもらえたようで。自分でももうすっかり忘れてたよ。send-pr したのが去年の12月だから、それから11ヶ月か。 別の人が同じ問題にハマってくれたおかげでこの件が発掘されたみたい。 みたい。

_ 別件で、ついこないだ OpenBSD のリゾルバでも気になることを見つけちゃったんだよね。バグというよりも他の OS と挙動が異なる、という程度なんだけど、その違いというのがセキュリティ的に安全側に倒れてないので、うーん、という感じ。近所にコミッターな人がいたので、挙動を他と合わせるようにできないか相談してみたり。


2014年11月12日(水)

無題

_ 左耳が聞こえにくい件、だんだん悪化してきて、静かなところでは耳鳴りも聞こえるようになってきたのでいちおう医者へ。例によってはっきりした物言いはせず、どっちかというと若い女性ではよくある症状だよねー、程度でおしまい。まあ、たぶん これこれなんでしょうな。今のところめまいが起きるようなことはないけど、そうならないように要観察と。

_ …という素人診断を避けるためにも、医者にはほげほげの可能性があるぐらいでもかまわんのである程度ちゃんと言ってほしいんだが。

_ とりあえず薬は処方されたけど、最初に診察を受けた 3月のときに治ったのは薬が効いたのかたんに自然治癒だったのか判然とせんのだよな。 7月に再発したときは医者にかからず薬もなしで放置してたらそのうち何ともなくなったし。

無題

_ ちょ、OpenBSD って 5.6 から tcp_wrappers がなくなったのか。pf でやれってことなんだろうけど、hosts.allow の挙動の確認そのものが目的だったのでやむなく自力コンパイル。

_ Solaris 7 か 8 のころは当たり前のようにコンパイルしてたけど、まさか今になって自力で make するはめになろうとは。


2014年11月19日(水)

umask

_ ldns の ldns-keygen ツールにおけるプライベートキーを取得される脆弱性

_ …え、ldns-keygen が秘密鍵を作るときに権限を現在の umask そのままにしちゃって誰でも中を見られるのって仕様じゃなかったの? いや、ほんとにそうなのだとしたらひどいクソ仕様だけど、あんなにあからさまに誰でも読める鍵を作る挙動を何年も放置してたから、そういうもんだから使う側で対処しろ、ということだとずっと思ってたよ。

_ ldns に付属のツール群って、ソースが examples ディレクトリの下にあるし、デフォではコンパイルされないし、ってな具合で、ldns というライブラリを使ったプログラムのサンプル程度に扱ってくれということだと理解してた。だから少しぐらい手抜き実装でもしかたないし、問題あるなら自分で直せ、という認識。気がついた時点で報告しておいた方がよかったのかなぁ?

_ 少なくとも自分は 3年前にはすでに気がついてたし、 自作スクリプトでも、

        if keyname=`$do_keygen $1` && chmod go-rwx *.private; then
てな感じでちゃんと対策してある(このコードだと鍵生成から chmod までの一瞬の間を狙われる可能性がゼロではないので完全ではないけど)。

_ つーか、これ、JVNDB に乗ったのはつい最近だけど、CVE の採番は半年以上前だったのか。見逃してた。で、修正はコミットされたけど、そこから実際のリリースはまだされてない、と。やっぱりその程度の扱いなんだな。

_ そういえば、wget もクッキーをファイルに保存するときに umask そのままで作っちゃうんで、同一ホスト内の他人がセッションを乗っ取れるという 問題があるんだけど、これって修正されたのかな。

% wget --save-cookies=cookie.txt http://www.google.com/
...
% ls -l cookie.txt
-rw-r--r-- 1 yamaya yamaya 379 Nov 19 22:37 cookie.txt
% wget --version
GNU Wget 1.16 built on freebsd10.0.
...
…直ってないな。

_ 直してみた。

--- wget-1.16/src/cookies.c.orig        2014-07-25 16:50:10.000000000 +0900
+++ wget-1.16/src/cookies.c     2014-11-19 23:06:55.255097599 +0900
@@ -51,6 +51,7 @@
 #include <assert.h>
 #include <errno.h>
 #include <time.h>
+#include <sys/stat.h>
 #ifdef HAVE_LIBPSL
 # include <libpsl.h>
 #endif
@@ -1293,12 +1294,15 @@
 {
   FILE *fp;
   hash_table_iterator iter;
+  mode_t old_mask;

   DEBUGP (("Saving cookies to %s.\n", file));

   cookies_now = time (NULL);

+  old_mask = umask(077);
   fp = fopen (file, "w");
+  umask(old_mask);
   if (!fp)
     {
       logprintf (LOG_NOTQUIET, _("Cannot open cookies file %s: %s\n"),


<< = >>
やまや