This service is available only in Japanese-language.
BlackHatでの発表が予告されたWPA2の脆弱性ですが、gitで取得する分に関してYocto2.1以降は本日(10/17 7:00)頃
セキュリティFixがcommitされています。
(追記) 10/17 20:17[日本時間] に、Yocto2.0(jethro)向けのパッチリリースがMLに投稿されています。
(追々記) 11/3 21:46[日本時間] に、Yocto1.6(daisy)向けのパッチリリースがMLに投稿されています。
Yocto2.3(pyro) http://lists.openembedded.org/pipermail/openembedded-core/2017-October/1...
Yocto2.2(morty) http://lists.openembedded.org/pipermail/openembedded-core/2017-October/1...
Yocto2.1(krogoth) http://lists.openembedded.org/pipermail/openembedded-core/2017-October/1...
Yocto2.0(jethro) http://lists.openembedded.org/pipermail/openembedded-core/2017-October/1...
Yocto1.6(daisy) http://lists.openembedded.org/pipermail/openembedded-core/2017-November/...
ブランチ名を指定してgitで取得する場合は、最新のものに置き換えることで対応可能ですが、ベンダー提供のBSPに良くある
commit id を指定してgitで取得する場合は、以下の方法でbbappendを作成して、自前で対応することも可能です。
1) 独自のレイヤーを作成する。
yocto-layer create <レイヤー名>
で作成すると簡単に作成できます。
2) 作成したイヤーに以下のディレクトリを作成する。
recipes-connectivity/wpa-supplicant/wpa-supplicant
3) 作成したディレクトリに、key-replay-cve-multiple.patch という名称のファイルを作成する。
上記の該当するブランチに対するパッチのメールを張り付ける。
4) パッチファイルの不要な部分を削除
4-1 パッチファイルの先頭まで削除
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple.patch
の行まで削除する。
4-2 パッチファイルの最終行以降の削除
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.5.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.5.bb
といった行以降を削除する。(jethro は2.4、krogoth及びmortyは、2.5、pyroは2.6)(削除は、この行も含みます)
4-3 各行の先頭の+を削除
上記手順で、パッチファイルの作成は完了です。
5) bbappendファイルの作成
パッチを作成したディレクトリから一つ上のディレクトリに、jethorpはwpa-supplicant_2.4.bbappend 、krogoth及びmortyはwpa-supplicant_2.5.bbappend
pyroはwpa-supplicant_2.6.bbappend を作成します。
ファイルの内容は
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += " file://key-replay-cve-multiple.patch "
6) wpa-supplicntのbuildの実行
bitbake-layers add-layer 等を実行して、conf/bblayers.conf に1)で作成したレイヤーを追加したのち
bitbake wpa-suppllicant を実行する。
パッチが本当に適応されているか不安な場合は、tmp/work/xxxxx/wpa-supplicant/バージョン名/wpa-supplicant-バージョン/ 以下で
実際に変更されているか確認する。
上記の手順で、今回発見された脆弱性に対して、ターゲット側の対応は完了となります。
なお、ベンダーから提供されるBSPに脆弱性への対応が入った場合は、今回作成したbbappendは不要となります。