カテゴリー
Vulnerability

Android 版 Kindle の SSL サーバ証明書検証不備脆弱性。

 表題の件,我々一般人には,一見関係なさそうに見えるが,怪しいアプリをうかつに使わないとか,メールアカウントやパスワードの管理をしっかりするとかいうことでは,同じなんじゃないかと思う。

 そういえば,昨日,「ネット競売、消せぬ情報 大手3社、履歴・カード番号保存 利用者「流出が心配」」というのもあったな。えって,思うかもしれないけど,結構そういうとこ多い。だって,登録させる側からいえば,データの不正使用をする気はなくても,ユーザ側の無料版の反復利用を防ぐためだけでも,元情報は必要なわけだから,良心的であっても,罰則がないなら,データを保持するほうが妥当だと思う。どのくらい保持するとかで口を拭ってる様子は感じられるが……。知識の欠如から対応がいい加減なところもあるにはあるけどね。

 登録データの削除については,簡単/困難/不能をまとめたこんなサイトがある。 justdelete.me
 このサイトは, bitly.com (有名どころだが,日本語対応がないみたいなので, twitter そのものの短縮リンクが向上してからは,使うのをやめようとしたのだ) のアカウントを削除しようと四苦八苦しているときに発見した。
 まぁ, justdelete.me の一覧を見ると,サイトの性質から考えても, HARD あるいは impossible で当然だなと思うところもたくさんあるけど……。 justdelete.me ,日本語でも似たものがあるのかな。

 やっと,本題。
 29 日に JVN から Android 版アプリ Kindle における SSL サーバ証明書の検証不備の脆弱性というのが出ていて,セキュリティホール memo さんが「そのうち徳丸さんから解説が出るだろう」と書いておられた解説が出た。「Android版KindleにおけるSSLサーバ証明書の検証不備の脆弱性CVE-2014-3908」。読んでみたけど,難しくて,よくわからん。

 証明書を作るときに「コモンネームをちゃんとやってねー」というのはよく聞く。一致してない場合は,アクセスさせてくれないからだと,理解していた。これは,自前証明局の話ね。

 でも,奥さんの記事「SSL/TLSライブラリの正しい使い方(もしくは、コモンネームの検証について)」を読むと,多数の人がアクセスするアプリの場合,コモンネームの検証の実装はそれほど単純なものではないみたいだ。うちの自宅サーバレベルは蚊帳の外みたい(爆)。

 徳丸さんの解説は難しくて 100% 理解しているとはいいがたいのだが,それでも「コモンネームの検証が漏れてる場合があるって,超ヤバいじゃん」ということくらいは十分わかる。

 8月初めには,「App Storeのアプリが盗まれた」って話もあったし,スマホが一気に普及して,それ関係の悪事も花盛りだな。

 徳丸さんの記事の件は,実際に悪用されてるかどうかは現時点で不明なようだが,持っている方は,既に対応バージョンが出ているようだし, 「Kindle – Google Play の Android アプリ」でアップデートしておこう。

 「App Storeのアプリが盗まれた」の件については,セキュリティホール memo さんによると,いたのくまんぼうさんとこが,有用みたい。「注意喚起:アプリ乗っ取り犯の手口判明。ITCアカウントの入力を求めるアプリには注意!

カテゴリー
Windows

覚え書-#18。

The same article in English
投稿アップデート情報  追記(8/28)
  1. PHP 5.6.0 GA の正式リリースの時期が, RC4 の記事に書いてあった。とーっても楽しみ。 wow!
  2. Apache 2.4.10 (httpd-2.4.10-win32-VC11.zip) を openssl-1.0.1i のものに,アップデートした。 OpenSSL Security Advisory [6 Aug 2014] のせいなんだが, Steffen が Jan-E に “Coming days the builds here at Apache Lounge are going to be upgraded. It has not that priority and severity ~” と回答していたので,焦らずに待っていたのだ。
  3. Windows Update 2014 年 8 月はトラブル続出だったみたいだね。うちのパソコンは幸いにも1台も引っかからなかったんだが,現時点で特に問題がなくても KB2982791, KB2970228, KB2975719 and KB2975331 をアンインストールしたほうがいいということらしいので,探し出してアンインストールした。以下の通り。
    • NJ2100 上の Windows8.1(x86)
      KB2982791
      KB2975719
    • CF-J10 上の Windows7 SP1(x64)
      KB2982791
      KB2970228
    • xw4200 上の Windows7 SP1(x86)
      KB2982791
      KB2970228
    • KeyPaso 上の Windows Vista SP2(x86)
      KB2982791

    昔は, Windows update というとほぼ毎回不具合があって,少し落ち着くまで更新を控えたりしたものだが,今回のドタバタは久しぶりだった気がする。皆さんはどう思われますか? (^_~)

追記(8/28):
 MS14-045 関連の不具合更新プログラム, KB2993651 が出てますな。詳しくは,[MS14-045] 更新プログラム 2982791 の問題を解決する更新プログラム 2993651 を公開

カテゴリー
WordPress

WordPress3.9.2 Background Updates.

The same article in English

 今回も,朝起きたら,WordPress 3.9.2 になっていた。

 セキュリティメンテナンスリリースということで, ‘a possible denial of service issue in PHP’s XML processing’ のパッチなんぞが含まれている。「迅速なアップデートを強く推奨します」とのことなので, automatic background updates に対応していないサイトを運営してる場合は,お言葉にしたがって手動でアップデートしたほうがいいみたいス。

訂正されたファイルは下記の通り。

readme.html
wp-admin/about.php
wp-includes/ID3/getid3.lib.php
wp-includes/class-IXR.php
wp-includes/class-wp-customize-widgets.php
wp-includes/compat.php
wp-includes/pluggable.php
wp-includes/version.php
wp-login.php

カテゴリー
Windows

本家のお世話-#107。(Apache 2.4.10へアップデート)

The same article in English

 Apache HTTP Server 2.4.10 が出たので,アップデート。セキュリティパッチが,5個含まれているようだ。 mod_authnz_fcgi というモジュールが増えたので, httpd.conf も以下の1行が増えている。
    #LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
 Windows 版では, pcre が 8.34 から 8.35 に, APR が 1.5.0 から 1.5.1 にアップデートされている。

 VC11 用の httpd-2.4.10-win32-VC11.zip (17 Jul) を我が家用 ( Windows7 x86 ) にダウンロード。 Apache 2.4.x conf 情報が必要な方は,「Windows7上にWamp系WebServerを建てる-#1。」を見てください。

カテゴリー
WordPress

WordPressでの「SSL3_READ_BYTES:sslv3 alert handshake failure」を解決。

The same article in English

 WordPress 3.7 から ca-bundle.crt が含まれるようになったんだが,その後,「Upgrade Network」のときにエラーが出るようになった。ところで,「Warning! Problem updating https://SITENAME.」というのを1つのサイトだけおかしいんだと勘違いしていたのだが,一番初めに調べたサイトでエラーが出てるんだから,あとは調べてないわけだよな(汗)。

 はじめのエラーは,「Error message: SSL certificate problem: self signed certificate in certificate chain」というので,これは自前認証局を使ってるせいだったんだが, Oiram の教えてくれた通り, ca-bundle.crt に自前の CA のデータを書き加えてやったら,よくなった。

 で,次が「“Error message: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure」。これに2か月以上手を焼いていたが,本日,やっと,解決した \(^o^)/。

 振り返ってみると,結局のところ3つのポイントがあったようだ。

  1. うちの client.crt には ssl_client extension を使っていなかった。で, client.crt を ssl_client extension 付きで作り直した。参考にしたのは, “sslv3 alert handshake failure when using SSL client auth”
    まず, openssl.cnf に次の行を追加した。

    [ ssl_client ]
    basicConstraints = CA:FALSE
    nsCertType = client
    keyUsage = digitalSignature, keyEncipherment
    extendedKeyUsage = clientAuth
    nsComment = “OpenSSL Certificate for SSL Client”

    でもって, ssl_client extension を使って client.crt を作り直した。
    >openssl ca -config openssl.cnf -policy policy_anything -extensions ssl_client -in client.csr -out client.crt

    • 古いほうの client.crt で “openssl s_client -connect o6asan.com:443 -cert client.crt -key client.key -CAfile cacert.pem” をやると,下の2つのエラーが出ていたが,新しいのだと出なくなった。
    • error:14094418:SSL routines:SSL3_READ_BYTES: ~
      error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure: ~
    • 当然ながら, clientcert.p12 も作り直した。
  2. WordPress は「Upgrade Network」のときに cURL を利用しているのだが, cURL は P12 format certificates を受用しないので, PEM format に直さなければ使えない。
    • clientcert.p12 から clientcert.pem を作る
      >openssl pkcs12 -in clientcert.p12 -nokeys -clcerts -out clientcert.pem
    • clientcert.p12 から clientkey.pem を作る。
      >openssl pkcs12 -in clientcert.p12 -nocerts -out clientkey.pem
       
      clientkey.pem のコピーを作り, pass phrase を削除する。
      >copy clientkey.pem cp_clientkey.pem
      >openssl rsa <cp_clientkey.pem> clientkey.pem
  3. WordPress に client 証明書の場所を教えてやる
    • class-http.php の「curl_setopt( $handle, CURLOPT_CAINFO, $r[‘sslcertificates’] );」行の直前に,以下の2行を書き加える。

      curl_setopt( $handle, CURLOPT_SSLCERT, 'clientcert.pem の絶対パス' );
      curl_setopt( $handle, CURLOPT_SSLKEY, 'clientkey.pem の絶対パス' );

      WordPress の core スクリプトを書き換えるのは嫌なので,何とかほかの方法でやろうと頑張ったのだが,どうしてもうまくいかなくて,結局, class-http.php をいじることにした。

      clientcert.pem と clientkey.pem をサーバ上のどこか,外部のものがネット経由でアクセスできない,より安全な場所にコピーする。

    参考サイトは, Client URL Library

 自前認証局の作り方は,「本家のお世話-#68。(WordPress SSL ログイン-#1)」をどうぞ。

 エラーが消えたよ。満足じゃ。パチパチ!!

カテゴリー
Windows

本家のお世話-#104。(OpenSSL Security Advisory [6月5日] に対処のため Apache のアップデート)

The same article in English
投稿アップデート情報  追記(6/9)

 OpenSSL Security Advisory [6月5日] になんかいろいろと挙がっていて,どうするかなと思っていたら,さっそく Steffen が対処してくれたので, Apache 2.4.9 の 2014 5 Jun version を落として,アップデート。

 新バージョンは, ‘IPv6 Crypto apr-1.5.0 apr-util-1.5.3 apr-iconv-1.2.1 openssl-1.0.1h zlib-1.2.8 pcre-8.34 libxml2-2.9.1 lua-5.1.5 expat-2.1.0’ と openssl-1.0.1h でのビルドとなっている。

 アップデートのやり方自体はいつもと同じ。そんでもって,Changelog

 いつも, Steffen への感謝の念に堪えない m(_”_)m。

追記(6/9):
 こんなんあったんで,貼っときます。
ハートブリード脆弱性から 2 か月で公開された OpenSSL の重大な脆弱性修正パッチ

カテゴリー
WordPress

WordPress3.9.1 Background Updates.

The same article in English
投稿アップデート情報  追記

 今回も,朝起きたら,WordPress 3.9.1 になっていた。

 メンテナンスリリースということだが, 34 のバグが手直しされている。特に,マルチサイト・ネットワーク関係がたくさんあるらしい。訂正されたファイルは下記の通りで,結構な数だ。

readme.html
wp-admin/css/edit.css
wp-admin/css/forms-rtl.css
wp-admin/css/login-rtl.min.css
wp-admin/css/admin-menu-rtl.css
wp-admin/css/wp-admin-rtl.min.css
wp-admin/css/edit-rtl.css
wp-admin/css/forms.css
wp-admin/css/admin-menu.css
wp-admin/css/login.min.css
wp-admin/css/wp-admin.min.css
wp-admin/about.php
wp-admin/user/menu.php
wp-admin/includes/ajax-actions.php
wp-admin/js/post.min.js
wp-admin/js/customize-controls.min.js
wp-admin/js/post.js
wp-admin/js/customize-controls.js
wp-admin/custom-header.php
wp-admin/credits.php
wp-admin/freedoms.php
wp-includes/ms-settings.php
wp-includes/class-wp-editor.php
wp-includes/media.php
wp-includes/js/shortcode.min.js
wp-includes/js/customize-views.js
wp-includes/js/media-views.min.js
wp-includes/js/tinymce/plugins/wpview/plugin.js
wp-includes/js/tinymce/plugins/wpview/plugin.min.js
wp-includes/js/tinymce/plugins/wordpress/plugin.js
wp-includes/js/tinymce/plugins/wordpress/plugin.min.js
wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js
wp-includes/js/tinymce/plugins/wplink/plugin.min.js
wp-includes/js/tinymce/plugins/wplink/plugin.js
wp-includes/js/tinymce/wp-tinymce.js.gz
wp-includes/js/customize-models.js
wp-includes/js/mce-view.js
wp-includes/js/mediaelement/wp-playlist.js
wp-includes/js/mediaelement/wp-mediaelement.css
wp-includes/js/media-audiovideo.min.js
wp-includes/js/shortcode.js
wp-includes/js/media-views.js
wp-includes/js/customize-views.min.js
wp-includes/js/media-audiovideo.js
wp-includes/js/customize-models.min.js
wp-includes/js/mce-view.min.js
wp-includes/version.php
wp-includes/default-widgets.php
wp-includes/script-loader.php
wp-includes/media-template.php
wp-includes/ms-load.php
wp-includes/css/editor-rtl.css
wp-includes/css/editor.css
wp-includes/css/media-views-rtl.min.css
wp-includes/css/media-views.min.css
wp-includes/css/editor-rtl.min.css
wp-includes/css/editor.min.css
wp-includes/css/media-views-rtl.css
wp-includes/css/media-views.css
wp-includes/widgets.php

追記:
 確認してみたら,なんと,165ものファイルが削除されていた。 css , js 関係がほとんどである。特に tinymce 関連で大きな違いがある。なんなんだろう。 3.9 でビジュアルエディタ関連の不具合があったせいかな。今年初めに tinymce が WordPress コアにマージされるという話があったと思うが,多分それがビジュアルエディタと関係があるんだろうしな。
  削除ファイル一覧

カテゴリー
WordPress

ただいま日本語版待ち,WordPress 3.9。

The same article in English
投稿アップデート情報  追記  追記2(6/22)

 WordPress 3.9 が出た。ただし,我が家は,日本語版待ち。皆さんはいかがですか。

追記:
 さっき,20:20ごろ, WordPress 3.9 日本語版にアップグレードした。機能は,特に問題なく働いているのだが, 3.8.3 のとき同様,またもや Warning! Problem updating https://SITENAME. Your server may not be able to connect to sites running on it. Error message: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure が出た。なんでだろう。少し,真剣に調べてみないといけないかな。

 WordPress 3.9 関係の資料。 Codex(日本語), Blog(日本語), Changelog.

追記2(6/22):
 WordPressでの「SSL3_READ_BYTES:sslv3 alert handshake failure」を解決というのを書いた。

カテゴリー
WordPress

引き続きまして,WordPress 3.8.3。

The same article in English
投稿アップデート情報  追記  追記2(6/22)

 えーっと,先日,くりくりさんへのコメントで,「マイナーアップデートは自動に任せていい」と書いたばかりなのだが,今回みたいに,ローカライズ関係のファイルが入ってるのに,自動でアップデートされるとまずいかもしれない。

 今回のアップデートファイルには,

wp-admin/includes/upgrade.php
wp-admin/includes/post.php
wp-admin/about.php
wp-includes/version.php
readme.html

と, version.php が入っているが,実は, version.php には, $wp_local_package がある。自動アップデートで,ここがなくなると,不具合が起こる可能性もある。日本語版が出る前に自動アップデートされてしまった場合は, version.php を開けて最終行に
     $wp_local_package = ‘ja’;
を追記してやろう。

 ところで, Oiram回避策を使っているにもかかわらず,今回また,
Warning! Problem updating https://SITENAME. Your server may not be able to connect to sites running on it.
が出ている。ただ,エラーメッセージは前と違い, Error message: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure なんだが,どうしたら直るのか,まだわからない。でもって,今回もエラーは一つのサイトについてだけなんだ。そのサイトは,前と同じ。なんでなんだろう?

追記:
 うーん,「朝起きたら,WordPress 3.8.2 だった。」で書いていることと,矛盾してるな(苦)。 3.8.2 の version.php には $wp_local_package = ‘ja’; が入っていなかったけど,何の問題もなかった(アワワワ)。困ったちゃんねぇ(⇒私)。

追記2(6/22):
 WordPressでの「SSL3_READ_BYTES:sslv3 alert handshake failure」を解決というのを書いた。

カテゴリー
WordPress

朝起きたら,WordPress 3.8.2 だった。

The same article in English
投稿アップデート情報  追記(4/10)  追記2(4/15)

 朝起きたら,WordPress 3.8.2 だった。て,言うか,もちろん,ログインしてみたらという話だが。

 夕べ, SSL 関係を作り直して, ca-bundle.crt に改めて Oiram回避策を施したところだったので,アップデートがどうなるか気になっていたのだが,大丈夫だった。ホッ。

追記(4/10):
 今回のマイナーアップデート対象ファイルは,以下の15個。言語関係は含まれていない。本日の検索ワードに「wordpress 3.8.2 日本語化」があったので,蛇足ながら,追記。

readme.html
wp-admin/about.php
wp-admin/includes/class-wp-posts-list-table.php
wp-admin/includes/class-wp-upgrader.php
wp-admin/includes/post.php
wp-admin/includes/update-core.php
wp-admin/themes.php
wp-includes/bookmark.php
wp-includes/class-wp-xmlrpc-server.php
wp-includes/js/pluploadplupload.silverlight.xap
wp-includes/pluggable.php
wp-includes/post-template.php
wp-includes/query.php
wp-includes/update.php
wp-includes/version.php

 つまり, wordpress 3.8.1 + 上記15ファイルで問題ないから,マイナーアップデートは自動で十分,と思う。

追記2(4/15):
 うーん,「引き続きまして,WordPress 3.8.3。」で書いていることと,矛盾してるな(苦)。 version.php には $wp_local_package = ‘ja’; が入っていなかったけど,何の問題もなかった(アワワワ)。困ったちゃんねぇ(⇒私)。