Androidアプリ開発者の環境から任意ファイルを取得可能な脆弱性「ParseDroid」 5
ストーリー by headless
参照 部門より
参照 部門より
Androidアプリの開発に使われるIDEやAPKファイルの分析などに使われるツールにおけるXMLパーサーの処理に関連した脆弱性「ParseDroid」について、発見したCheck Point Researchが解説している(Check Point Researchの記事、
The Registerの記事[1]、
[2])。
Check Point Researchでは当初、Apktoolを調査していたという。ApktoolはAndroidのアプリケーションパッケージ(APKファイル)のデコンパイルとビルドが主な機能で、サードパーティアプリのリバースエンジニアリングによく使われるツールだ。ソースコードを調べたところ、XMLパーサーで外部実体参照(XXE)が無効化されておらず、細工したAndroidManifest.xmlを含むAPKファイルを処理させることで攻撃者が任意のファイルを取得できることが判明する。
Check Point Researchでは当初、Apktoolを調査していたという。ApktoolはAndroidのアプリケーションパッケージ(APKファイル)のデコンパイルとビルドが主な機能で、サードパーティアプリのリバースエンジニアリングによく使われるツールだ。ソースコードを調べたところ、XMLパーサーで外部実体参照(XXE)が無効化されておらず、細工したAndroidManifest.xmlを含むAPKファイルを処理させることで攻撃者が任意のファイルを取得できることが判明する。
そこで、Apktoolが使用するXMLパーサー「DocumentBuilderFactory」の調査を行い、Android StudioやIntellij、Eclipseなどにも同様の脆弱性を発見。攻撃者は細工したAndroidManifest.xmlを含むプロジェクトを公開することで、プロジェクトをクローンした開発者の環境から任意ファイルを取得できる。同様に、細工したファイルを含むAndroidライブラリ(AAR)をMavenセントラルリポジトリなどで公開すれば、ライブラリをプロジェクトに追加した開発者の環境から任意ファイルを取得可能になる。
また、Apktoolでは設定ファイル「apktool.yml」を細工することで、リモートからのコード実行が可能な脆弱性も発見されている。
Check Point Researchは問題を5月にApktoolの開発者やIDEを提供する企業に連絡しており、いずれも既に修正バージョンが公開されているとのこと。Apktoolは7月29日に公開されたバージョン2.2.4で修正されているようだ。記事ではほかにもいくつかツール名が挙げられているが、修正済みかどうかについては触れられていない。
陰謀説 (スコア:0)
今回も恐らくNSAの陰謀
Re: (スコア:0)
デフォルトでXXE有効になるようにAPI策定時から暗躍してたんですね
これってapktoolだけの問題じゃないよね (スコア:0)
例えばRSSリーダーとか、外部からXMLを取り込んでくるソフトのほぼすべてが持ってる脆弱性じゃないのかな
(もちろん対策していれば問題ないけど)