中間者攻撃の脆弱性が発見されたMacアプリのアップデート用フレームワーク「Sparkle」を利用したアプリがかなりの数に上り、特定用のスクリプトなどが公開される。

スポンサーリンク

 中間者攻撃の脆弱性が発見されたMacのアプリケーションアップデート用フレームワーク「Sparkle」を利用したアプリが予想以上の数に上り、脆弱性を含んだアプリを特定するスクリプトなどが公開されています。詳細は以下から。


Sparkle-App-Update-Hero


 先月末、Macのアプリケーションアップデート用フレームワーク「Sparkle」に中間者攻撃が可能な脆弱性が発見され、SparkleをHTTPS以外を利用しているアプリで任意のJavaScriptコードなどが実行されるPoCが公開されたとお伝えしましたが、このSparkleの脆弱性がかなりの数のアプリに影響を与えているようです。




 Sparkleは現在SketchやBetterTouchTool, Slack, VLC, WebKitなどユーザー数の多いアプリにも採用されており、これらのアプリは先月末から緊急のアップデートを配布し対応に追われていますが、それ以外にも数多くのアプリが存在するとArs Technicaが報じています。


Sketch-Update-Sparkle-vuinerablity

The precise number of apps affected isn’t known because it’s not easy to detect all the conditions necessary for them to be vulnerable. Radek estimated the number to be “huge” and said he has confirmed that the list includes Camtasia 2 v2.10.4, DuetDisplay v1.5.2.4, uTorrent v1.8.7, and Sketch v3.5.1. Computer forensics expert Jonathan Zdziarski told Ars that the Hopper reverse engineering tool and DXO Optics Pro are also susceptible. A longer list of apps that rely on Sparkle is here,

“Huge” number of Mac apps vulnerable to hijacking, and a fix is elusive | Ars Technica

脆弱性を含んだアプリの確認方法

 Sparkleを利用したアプリはIssue #717にも公開されていますが、ユーザーがアプリケーションフォルダにインストールしている中のもので、Sparkleフレームワークを利用しているアプリは以下のスクリプトを実行することで確認でき、


Sperkle-Version-Check2

find /Applications -path '*Autoupdate.app/Contents/Info.plist' -exec echo {} \; -exec grep -A1 CFBundleShortVersionString '{}' \; | grep -v CFBundleShortVersionString

 Sparkleのバージョンは”grep -v CFBundleShortVersionString”で抽出されるので、この値が1.13.0以下なら中間者攻撃の恐れがあるため、アップデートが出ているかをアプリの開発元や公式サイトでチェックしてください。

おまけ

 この脆弱性は初めからHTTPSを利用しアップデートを配布しているAdiumなどは影響を受けず、Vallieresさんが公開しているスクリプトの方がより見やすく出力されます。

A longer list of apps that rely on Sparkle is here, but readers are cautioned that not all of them communicate over insecure HTTP channels or use a vulnerable version of the update framework. Margaritelli said the most recent version of the Adium instant messenger uses HTTPS for updates and isn’t vulnerable.

“Huge” number of Mac apps vulnerable to hijacking, and a fix is elusive | Ars Technica


Sperkle-Version-Check-Script

find /Applications -name Sparkle.framework | sed 's,/Applications/\(.*\)\.app/Resources/Info.*,\1,'|while read fname; do
appname=$(echo $fname | sed -e 's/\/Contents\/Frameworks\/Sparkle\.framework//g' | sed -e 's/\/Applications\///g')
version="$(defaults read "$fname/Resources/Info" CFBundleShortVersionString)"
echo "$appname => $version"
done

関連リンク

コメント

  1. Apple7743 より:

    AppCleanerとUninstallPKGが引っかかった

  2. Apple7743 より:

    自分の環境では、下記3個の有名なアプリで利用していることが判明。
    それぞれのアプリの最新版バージョン/Sparkleのバージョンで表記。
    対策済み
    ・VLC(2.2.2/1.6)
    未対策
    ・AppCleaner(3.2.1/1.10.0)
    ・Evernote(6.5 Beta2(453102)/1.12.0)

  3. Apple7743 より:

    >>2
    VLCは未対策だぞ。1.6は1.06.0で1.60.0じゃない

  4. Apple7743 より:

    全部1.13.0以下だった!以下Sparkleのバージョンね。
    ・AppCleaner 1.11.0
    ・BetterZip 1.10.0
    ・coconutBattery 1.8.0
    ・iFunBox 1.8.0
    ・Karabiner 1.11.1
    ・MacID 1.11.1
    ・Malwarebytes Anti-Malware 1.11.0
    ・OpenEmu 1.7.1
    ・VLC 1.6

  5. Apple7743 より:

    あ、ごめん。1つだけは起動してアップデートをチェックしたら対策済みバージョンになったわ。
    ・coconutBattery 1.8.0 >> 1.13.1

  6. Apple7743 より:

    >>3
    申し訳ない。
    ttps://www.videolan.org/vlc/releases/2.2.2.html
    VLCのリリースノートでSparkleに触れていたのもあって、何を勘違いしたか表示された数字をバージョン管理の数字ではなく普通に数学的に考えてしまってました。

  7. Apple7743 より:

    Boxcryptorは今日アップデートあったけど、1.5のままだったという・・・