OpenSSL の重大バグ

PUPPYアプリケーションパッケージ、PETやSFSなどのトラブル

モデレータ: 暇人, YoN, nyu

ふうせん Fu-sen.
記事: 561
登録日時: 13/09/17(火) 10:01

OpenSSL の重大バグ

投稿記事 by ふうせん Fu-sen. »

大きなバグが公開されています。OpenSSL に関連する問題です。

http://gigazine.net/news/20140408-heartbleed-bug/
http://jp.techcrunch.com/2014/04/08/201 ... -internet/

メモリ上のデータが取られてしまう、という事で、
Frugal にしてある Puppy では特に個人保存ファイルをメモリに入れてしまう仕組み上、
ファイルの中身を外部から参照されてしまう事になるので、特に悪影響があると見ます。
最後に編集したユーザー ふうせん Fu-sen. [ 14/04/09(水) 12:03 ], 累計 3 回
ふうせん Fu-sen. ( old: 2 8 6 )
ふうせん Fu-sen.
記事: 561
登録日時: 13/09/17(火) 10:01

Re: OpenSSL の重大バグ

投稿記事 by ふうせん Fu-sen. »

本家フォーラムにもまだ話題がでていなかったので、新規投稿しておきました。

http://murga-linux.com/puppy/viewtopic.php?p=769973
ふうせん Fu-sen. ( old: 2 8 6 )
ふうせん Fu-sen.
記事: 561
登録日時: 13/09/17(火) 10:01

Re: OpenSSL の重大バグ

投稿記事 by ふうせん Fu-sen. »

対象の OpenSSL は 1.0.1〜1.0.1f となります。1.0.0 以前のバージョンは対象外となります。
具体的な Puppy のバージョンは下記の通りです。

 日本語版の対象: Precise-571JP Precise-550JP

Lupu-528JP 431JP2012 おぺらっぴぃ の OpenSSL は 0.9.8 系なので対象外です。

 オリジナル版の対象(最新版のみ): Precise-5.7.1 Slacko-5.7

Wary-5.5 Racy-5.5 の OpenSSL は 1.0.0 系で対象外です。
派生はベースとなっている Puppy や OpenSSL のバージョンを調べて確認して下さい。
例えば WAN-CO・Moeppy Linux はベースが Precise-571JP なので、この対象となります。
OpenSSL のバージョンは端末より openssl version で確認できます。

(ここで .pet パッケージを公開していましたが、新たなパッケージに更新済みです。
この後の文章から最新情報を得て下さい。)
最後に編集したユーザー ふうせん Fu-sen. [ 14/04/10(木) 11:20 ], 累計 6 回
ふうせん Fu-sen. ( old: 2 8 6 )
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

パピー上の OpenSSL のファイルと配置

投稿記事 by シノバー »

ふうせん Fu-sen. さんが書きました: openssl-1.0.1g.pet
お疲れ様です。
/root以下に不要なファイル。その他にも/usr/lib/pkgconfig以下や *.a など余分なファイルがありそうです。
私もよくわかってませんが、パピーの場合、 /root/.packages/builtin_files/openssl に合わせておけばよいのかな。

コード: 全て選択

# cat /root/.packages/builtin_files/openssl
/etc
/etc/ssl
/etc/ssl/certs
/etc/ssl/misc
/etc/ssl/private
/lib
 libcrypto.so.0
 libcrypto.so.0.9.7
 libcrypto.so.1.0.0
 libssl.so.0
 libssl.so.0.9.7
 libssl.so.1.0.0
/usr
/usr/bin
 c_rehash
 openssl
/usr/lib
/usr/lib/engines
/usr/lib
 libcrypto.so
 libssl.so
/usr/lib/ssl
/usr/lib/ssl/certs
/usr/lib/ssl/misc
 CA.pl
 CA.sh
 c_hash
 c_info
 c_issuer
 c_name
 tsget
/usr/lib/ssl/private
/usr/lib/engines 以下は…分からないです。/root/.packages/builtin_files/openssl0 に何か見つかりますが、旧バージョン?

コード: 全て選択

# cat /root/.packages/builtin_files/openssl0
/lib
 libcrypto.so.0.9.8
 libssl.so.0.9.8
/usr
/usr/lib
 libcrypto.so.0.9.8
 libssl.so.0.9.8
/usr/lib/ssl
/usr/lib/ssl/engines
 lib4758cca.so
 libaep.so
 libatalla.so
 libcapi.so
 libchil.so
 libcswift.so
 libgmp.so
 libnuron.so
 libsureware.so
 libubsec.so
うむむ。パピーの場合、 libssl, libcrypt の本体は /lib 以下に存在するらしい…?

コード: 全て選択

# ls -l /lib/lib{ssl,crypto}**
lrwxrwxrwx 1 root root      18  8月  2  2013 /lib/libcrypto.so.0 -> libcrypto.so.1.0.0
lrwxrwxrwx 1 root root      18  8月  2  2013 /lib/libcrypto.so.0.9.7 -> libcrypto.so.1.0.0
-rw-r--r-- 1 root root 1525748  8月  2  2013 /lib/libcrypto.so.0.9.8
-rw-r--r-- 1 root root 1734772  8月  2  2013 /lib/libcrypto.so.1.0.0
lrwxrwxrwx 1 root root      15  8月  2  2013 /lib/libssl.so.0 -> libssl.so.1.0.0
lrwxrwxrwx 1 root root      15  8月  2  2013 /lib/libssl.so.0.9.7 -> libssl.so.1.0.0
-rw-r--r-- 1 root root  319332  8月  2  2013 /lib/libssl.so.0.9.8
-rw-r--r-- 1 root root  350252  8月  2  2013 /lib/libssl.so.1.0.0
最後に編集したユーザー シノバー [ 14/04/11(金) 08:44 ], 累計 1 回
The bar master, Shino's Bar
http://shinobar.net/
ふうせん Fu-sen.
記事: 561
登録日時: 13/09/17(火) 10:01

Re: OpenSSL の重大バグ

投稿記事 by ふうせん Fu-sen. »

うむ。やっぱりこの辺が怪しいんですよね〜 :(
Precise の公開状態で二重に OpenSSL を入れているようなので。
依存関係の影響かもしれません。

パッケージ作成の段階で気になってはいたのですが、
まずは本体を対処しておくだけでも効果はあると思ったので、
慣れない .pet パッケージ化をして公開したわけです。

ライブラリ関連要調査→必要ならパッケージ更新ですね〜。
ふうせん Fu-sen. ( old: 2 8 6 )
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: OpenSSL の重大バグ

投稿記事 by シノバー »

パピーの場合、 libssl, libcrypt の本体は /lib 以下に存在するらしいので、けっきょくのところ
/usr/bin 内の2つの実行プログラム /usr/bin/c_rehash, /usr/bin/openssl と
/lib 内の2つの共有ライブラリ /lib/libcrypto.so.1.0.0, /lib/libssl.so.1.0.0 を入れ替える必要があるのではないでしょうか。
/usr/lib 内は /lib 内の共有ライブラリへのリンクなので、そのままでよいようです。
The bar master, Shino's Bar
http://shinobar.net/
486HA
記事: 1142
登録日時: 11/03/06(日) 14:31

Re: OpenSSL の重大バグ

投稿記事 by 486HA »

ふうせん Fu-sen. さんが書きました: オリジナル版の対象(最新版のみ): Precise-5.7.1 Slacko-5.7
 Slacko-5.7/5.7.0では、Updates ManagerからOpenSSL 1.0.1gに更新できます。
ふうせん Fu-sen. さんが書きました: 問題の対応が行われた最新版 1.0.1g を .pet パッケージにしてみました。
正式パッケージ対応されるまでの一時しのぎになるかな?
 petパッケージの構成が怪しいと思われます。/root以下は不要です。

openSSL-1.0.1g-i486-1.petを、お奨めします。
https://docs.google.com/file/d/0BxoqlpB ... RBU3c/edit
または、http://pkgs.org/download/opensslから、どうぞ!
CORE-i7-6700HQ uEFI ram:8GB
Full: Quirky Beaver64-8.7.1(64)
save2dir: Artfulpup-17.11,Dpup-7.5,Xenialpup 7.0.8.1(32)
Slimjet 21.0.8.0(32/64)
ふうせん Fu-sen.
記事: 561
登録日時: 13/09/17(火) 10:01

Re: OpenSSL の重大バグ

投稿記事 by ふうせん Fu-sen. »

486HA さんが書きました: openSSL-1.0.1g-i486-1.petを、お奨めします。
https://docs.google.com/file/d/0BxoqlpB ... RBU3c/edit
または、http://pkgs.org/download/opensslから、どうぞ!
ありがとうございます。こちらの .pet パッケージを本家フォーラムにも促します。
ふうせん Fu-sen. ( old: 2 8 6 )
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: OpenSSL の重大バグ

投稿記事 by シノバー »

お2方が対応 PET を提供されていますが、どこからどう作られたのか、由来を明らかにされないと困ります。
以下、ネガティブな話ばかりで失礼します。

openssl-1.0.1g.pet は /lib 以下にある現ライブラリが残るので、このライブラリを参照するアプリで改善効果がありません。たとえば wget。

コード: 全て選択

# ldd /usr/bin/wget | grep -E 'ssl|crypto'
	libssl.so.1.0.0 => /lib/libssl.so.1.0.0 (0xb7707000)
	libcrypto.so.1.0.0 => /lib/libcrypto.so.1.0.0 (0xb755c000)
openSSL-1.0.1g-i486-1.pet は /usr/bin/openssl が動きません。

コード: 全て選択

# openssl
openssl: error while loading shared libraries: libssl.so.1: cannot open shared object file: No such file or directory
どちらも開発ファイルなど余分なファイルが含まれ、またパーミッションおかしいです。

openssl-1.0.1g.pet をインストールすると、どういうわけかパッケージマネージャでアンインストールできません。
もとのPETを展開し、再びPETにするとアンインストールできるものができます。
そうして作ったものを openssl-1.0.1g-0.pet とします。 openssl-1.0.1g.pet をアンインストールしたい場合、次の手順によってください。
1. openssl-1.0.1g.pet をパッケージマネージャでアンインストール
2. openssl-1.0.1g-0.pet をクリックし、インストール
3. openssl-1.0.1g-0.pet をパッケージマネージャでアンインストール
これでもとの状態に戻ります。

openSSL-1.0.1g-i486-1.pet は通常どおりパッケージマネージャでアンインストールできます。
The bar master, Shino's Bar
http://shinobar.net/
ふうせん Fu-sen.
記事: 561
登録日時: 13/09/17(火) 10:01

Re: OpenSSL の重大バグ

投稿記事 by ふうせん Fu-sen. »

ありゃ、これはまともに使えない状態ですね。
本家フォーラムの openssl-1.0.1g-i486-1.pet パッケージの公開を止めます。
中身を確認しましたが、開発用のファイルも入ってしまってますね……

openssl-1.0.1g.pet は

config --prefix=/usr --openssldir=/etc/ssl shared

です。確実に無駄と分かった man 関連を手動削除しました。
個人のブログ記事情報から libdir で /lib 決め打ちをしようとしたのですが効いてません。
libdir というオプションがそもそもないようですね。
OpenSSL のバージョンによって置き場所が違うのかもしれません。それかオプションが変わっているのか……
最後に編集したユーザー ふうせん Fu-sen. [ 14/04/10(木) 11:41 ], 累計 2 回
ふうせん Fu-sen. ( old: 2 8 6 )
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: OpenSSL の重大バグの対処法(571JP, 550JP)

投稿記事 by シノバー »

最善ではありませんが、対処法の1つを記します。(571JP, 550JP)
Ubuntuから修正パッケージが出ています。
https://launchpad.net/ubuntu/precise/i3 ... ubuntu5.12 から
libssl1.0.0_1.0.1-4ubuntu5.12_i386.deb をダウンロードし、インストールすれば、とりあえずはOKかと。

パッケージ・マネージャを使う場合は次の手順になります。
1. Puppy パッケージ・マネージャを起動
2. パッケージマネージャの設定>データベース更新で「ただちに更新」ボタンをクリック
3. 黄色のターミナル上ですべての問いに Enterキー。データベースの更新にはかなりの時間がかかる
4. 「OK」で、パッケージ・マネージャのメイン画面に戻る
5. 上部のレポジトリは ubuntu-precise-main を選択
6. 検索窓に「libssl」を入力、実行。ubuntu-precise-main 内のみを検索
7. libssl1.0.0_1.0.1 (ALREADY INSTALLED) が見つかる
8. libssl1.0.0_1.0.1 を(上書き)インストール
さきのデータベースの更新に失敗していると、ダウンロードパッケージが見つからないというエラーとなる。

更新の確認
仮想端末より

コード: 全て選択

# openssl version -b
built on: Mon Apr  7 20:31:55 UTC 2014
2014年4月7日になっていればOK。

また

コード: 全て選択

# ls -l  /lib/lib{ssl,crypto}.so.1.0.0
-rw-r--r-- 1 root root 1734772  4月  8 05:35 /lib/libcrypto.so.1.0.0
-rw-r--r-- 1 root root  354380  4月  8 05:35 /lib/libssl.so.1.0.0
タイムスタンプが 4月8日となっておればOK
最後に編集したユーザー シノバー [ 14/04/11(金) 09:25 ], 累計 6 回
The bar master, Shino's Bar
http://shinobar.net/
ふうせん Fu-sen.
記事: 561
登録日時: 13/09/17(火) 10:01

Re: OpenSSL の重大バグ

投稿記事 by ふうせん Fu-sen. »

.deb パッケージは一番先に行っていて、最新版が適用できない事を確認済みです。
Ubuntu ではパッチ適用になっている影響だと見ています。

実際適用してもこの状態です。

コード: 全て選択

sh-4.1# openssl version
OpenSSL 1.0.1 14 Mar 2012
sh-4.1# openssl version -b
built on: Mon Apr 15 15:27:09 UTC 2013
Ubuntu 12.04 と派生ではバージョン更新ではなく、パッチ対応しているため、1.0.1 のままですが、
built on が 2014年4月 で表示される事を確認しています。
参考として、派生 Bodhi Linux 2.4 の OpenSSL をいれておきます。

コード: 全て選択

balloon@BodhiLinux:~$ openssl version
OpenSSL 1.0.1 14 Mar 2012
balloon@BodhiLinux:~$ openssl version -b
built on: Mon Apr  7 20:31:55 UTC 2014
ふうせん Fu-sen. ( old: 2 8 6 )
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: OpenSSL の重大バグ

投稿記事 by シノバー »

ふうせん Fu-sen. さんが書きました:.deb パッケージは一番先に行っていて、最新版が適用できない事を確認済みです。
Ubuntu ではパッチ適用になっている影響だと見ています。

実際適用してもこの状態です。

コード: 全て選択

sh-4.1# openssl version
OpenSSL 1.0.1 14 Mar 2012
sh-4.1# openssl version -b
built on: Mon Apr 15 15:27:09 UTC 2013
対応パッケージが間に合ってなかったのでは?
libssl1.0.0_1.0.1-4ubuntu5.12_i386.deb 適用後はこうなります。

コード: 全て選択

 # openssl version 
OpenSSL 1.0.1 14 Mar 2012
# openssl version -b
built on: Mon Apr  7 20:31:55 UTC 2014
The bar master, Shino's Bar
http://shinobar.net/
ふうせん Fu-sen.
記事: 561
登録日時: 13/09/17(火) 10:01

Re: OpenSSL の重大バグ

投稿記事 by ふうせん Fu-sen. »

うむ。何か家の Puppy が .deb パッケージの適用でおかしくなってるかも。 :(
他の環境で試してみます。
もしこの方法で大丈夫だとすると、libssl はライブラリ部分しか入ってないので、
OpenSSL 本体も別途更新が必要です。

http://packages.ubuntu.com/precise/openssl
ふうせん Fu-sen. ( old: 2 8 6 )
ふうせん Fu-sen.
記事: 561
登録日時: 13/09/17(火) 10:01

Re: OpenSSL の重大バグ

投稿記事 by ふうせん Fu-sen. »

.deb パッケージいきました。 :D
更新されてない環境はなにか .deb パッケージ適用に問題が発生してますね。
ram モードから更新しなおしてみます。

とすると、パッケージマネージャから ただちに更新 を行って
openssl・libssl をインストールする事でいけますね。
とりあえずこの方法推奨でいけるでしょうか。

なお、ねんのため…… Slacko は Slackware パッケージの適用で更新できている事が
本家フォーラムで報告されています。
ふうせん Fu-sen. ( old: 2 8 6 )
返信する