Cross Technology

Unity、VR、MR、ARを中心とした技術ブログ

【2017/8/22 Unity脆弱性対応方法追記】Unityのパッチを当てる方法

2015年7月時点でリリースされていたOculusDK2のSDK 0.6.0 betaを使うには、Unity5のパッチを当てる必要がありました。Unityのパッチについては、Oculus系開発とは関係なく使う可能性がありますので、当てる方法をメモ代わりに残しておこうと思います。

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のバージョン表記が変化します。

f:id:Takyu:20180713222455j:plain

今回のOcuFesでは、Oculus Utility for Unity5 0.1.0 を使ったのですが、このときにパッチ指定があったので、Unity5.1.1p3を使いました。

5. Unityの脆弱性報告と対処方法

(2017/8/22追記しました)

数日前、Unity Technologies からUnityの脆弱性報告とパッチ配布場所を知らせるメールが来ました。この記事へのアクセス件数が多かったので、本件に関する概要を追記します。

パッチ提供場所 (英語)

https://unity3d.com/jp/security?utm_campaign=other_japan_information_2017-08-18-Global-Editor-Security-Notification-JP-Final&utm_content

上記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.は対象外