2015年7月時点でリリースされていたOculusDK2のSDK 0.6.0 betaを使うには、Unity5のパッチを当てる必要がありました。Unityのパッチについては、Oculus系開発とは関係なく使う可能性がありますので、当てる方法をメモ代わりに残しておこうと思います。
- 1. Unityのパッチとは?
- 2. パッチの場所は?
- 3. どのUnityにどのパッチを当てればよい?
- 4. パッチを当てるには?
- 5. Unityの脆弱性報告と対処方法
1. Unityのパッチとは?
下記に記載があります。正式リリースはまだだけど、新機能やバグfixを早めに使いたいというときに適用するものです。指定されたバージョンのUnityがインストールされている状態で、インストールすると適用されます。2. パッチの場所は?
ここにあります。
Unity QA - Patch Releases - Unity
3. どのUnityにどのパッチを当てればよい?
パッチリリースのページに、X.Y.ZpNという表示があります。これは、X.Y.ZというバージョンのUnityに対応したN番目のパッチです、という意味です。
たとえば、パッチ 5.1.1p3 の場合、Unity5.1.1に対応しています。
4. パッチを当てるには?
Unity5.1.1にp3を当てる場合を説明します。パッチリリースのページからインストーラを取得します。
Windowsの場合:UnityDownloadAssistant-5.1.1p3.exe
Macの場合:UnityDownloadAssistant-5.1.1p3.dmg
あとは、これを実行すれば自動で当ててくれます。パッチ適用が成功すると、Unityのバージョン表記が変化します。
今回のOcuFesでは、Oculus Utility for Unity5 0.1.0 を使ったのですが、このときにパッチ指定があったので、Unity5.1.1p3を使いました。
5. Unityの脆弱性報告と対処方法
5.1 CVE-2017-12939の内容と対処方法 (2017/8)
(2017/8/22追記しました)
数日前、Unity Technologies からUnityの脆弱性報告とパッチ配布場所を知らせるメールが来ました。この記事へのアクセス件数が多かったので、本件に関する概要を追記します。
パッチ提供場所 (英語)
上記HPにアクセスし、自分の使っているバージョンに合わせたものを選びます。たとえば、5.3を使っている場合、5.3.8p2を適用します。5.6.2f1を使っている場合、5.6.3p1を適用します。つまり、5.X.Yのとき、Xが同じものを選べばよいです。
選択すると、Unityのインストーラが起動します。あとは、この記事に元々書いた内容と同一です。
なお、5.2以前はパッチ提供がありません。同じく提供されているworkaround toolというもので、今回の脆弱性を無効化できるようですが、Windowsのシステムが変更したとか、再インストールをしたとかで再度有効になる懸念もあるようです。最新版のUnityにすることを強く推奨しています。
注意事項
参考までに、公式HPからの通達の主な内容を訳しました。"()"は私の補足です。
どんな脅威なのか?
input string validation(入力時の文字列有効性チェック)に関する脆弱性により、リモートからコードが実行される
詳細は?
Unity’s responsible disclosure programの観点から、皆さんが今回のパッチ対応をした頃に改めて発表する
この脆弱性は、ビルドされたアプリにも影響するのか?
しない。Unity Editor のみ。
どのOSが対象か?
Windows。MacとLinuxはこの脆弱性には影響しない。
対象となるWindowsは?
Unity が入った全てのWindowsが対象(7、8、8.1、10、Enterprise やPro版などの全てのWindowsと考えてよさそうです)
対象となるUnityのバージョンは?
全てのバージョン。
パッチを当てられるUnityのバージョンは?
5.3, 5.4, 5.5, 5.6, 2017.1. が対象。
4.x, 5.0, 5.1, 5.2.は対象外
5.2 CVE-2019-9197の内容と対処方法 (2019/3)
(2019/3/5追記しました)
本日、Unity Technologies からUnityの脆弱性報告とパッチ配布場所を知らせるメールが来ました。本件に関する概要を追記します。
パッチ提供場所 (英語)
上記のURLから対応するバージョンのインストーラを選択します。
選択すると、Unityのインストーラが起動します。あとは、この記事に元々書いた「4. パッチをあてるには?」と同一です。
なお、5.2以前はパッチ提供がありません。同じく提供されているworkaround toolというもので、今回の脆弱性を無効化できるようですが、Windowsのシステムが変更したとか、再インストールをしたとかで再度有効になる懸念もあるようです。最新版のUnityにすることを強く推奨しています。
注意事項
参考までに、前回同様、公式HPからの通達の主な内容を訳しました。"()"は私の補足です。
どんな脅威なのか?
input string validation(入力時の文字列有効性チェック)に関する脆弱性により、リモートからコードが実行される
詳細は?
Unity’s responsible disclosure programの観点から、皆さんが今回のパッチ対応をした頃に改めて発表する
この脆弱性は、ビルドされたアプリにも影響するのか?
しない。Unity Editor のみ。
どのOSが対象か?
Windows。MacとLinuxはこの脆弱性には影響しない。
対象となるUnityのバージョンは?
全てのバージョン。
パッチを当てられるUnityのバージョンは?
5.6以降で2019.2までの全てのバージョン。2019.3以降は今回の脆弱性対策が適用済み。
5.6以前のUnityはどうなるか?
mitigation tool(影響を最小限にするために、脆弱性だけを無効化するツール)を使うことで、いったんは対応可能。しかし、再度脆弱性が有効化されてもわからないので、5.6以降のパッチ適用済みのUnityを使うことを強く推奨する。