[脆弱性対応] AFNetworking をアップデートしよう

2015.04.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AFNetworking

とても使いやすい iOS のネットワーキングライブラリであるAFNetworking。 先日このライブラリに脆弱性が発見されました。

この脆弱性は、2月上旬に公開されたバージョン2.5.1で生じ、その後公開された2.5.3で修正されたそうなので、まだ2.5.3以降にアップデートしていない人は早めにしてしまいましょう。 問題のコードはこちらの issue で対応されたようです。

今回はCocoaPodsでのアップデートについて説明します。

pod update

CocoaPodsで管理しているライブラリをアップデートするコマンドはpod updateです。

Podfileが存在するディレクトリまで移動し、pod updateを実行しましょう。

手順

  1. Podfileが存在するディレクトリに移動 (だいたい Xcode プロジェクトのルートディレクトリにあります)
  2. Podfile.lockで、現在のバージョンを確認
  3. pod updateを実行

1. Podfile が存在するディレクトリに移動

$ cd <Podfile が存在するディレクトリ>

2. Podfile.lock で、現在のバージョンを確認

$ cat Podfile.lock

podupdate-1

3. pod update を実行

$ pod update

結果

Update all pods
Analyzing dependencies
Downloading dependencies
Installing AFNetworking 2.5.3 (was 2.5.0)  // <- 2.5.3 にアップデートされた!
Generating Pods project
Integrating client project

pod update を行っても 2.5.3以降にバージョンアップされない場合はPodfileを見なおしてみましょう。 AFNetworkingを指定している部分で、後ろに以下の様なオプションをつけるとうまくいくと思います。

target 'SampleProject' do
  pod 'AFNetworking', '~>2.5.3'
end

'~>2.5.3'は、バージョン2.5.3以上(3.0未満)をインストールするように指定しています。

まとめ

iOS アプリでAFNetworkingを使っている方は一度自分のアプリを確認し、バージョンが2.5.3未満であればpod updateでアップデートを行いましょう。

リンク

  • AFNetworking 2.5.3 以下の部分が該当箇所と思われます。

    • Change validatesDomainName property to default to YES under all security policies