回避できてしまうmacOS App Sandbox

ほぼこもセキュリティニュース By Terilogy Worx

macOS App Sandboxとはなんでしょう。
名前の通りサンドボックスです。
macOSで使えるアプリケーションはMac App Storeで手に入れることができます。
いろいろな人が作ったアプリケーションが簡単に手に入ります。
はい、いろんな意味で、いろいろな人が作ったものが配布されています。
そこで用意されたものの一つがmacOS App Sandboxです。
Leopard以降段階的に導入され、現時点ではMac App Storeで公開されるアプリケーションはmacOS App Sandboxの実装を実施した状態で配布するように要求されるようになりました。

macOS App Sandbox化されたアプリケーションではいろいろなリソースへのアクセスが制限できます。

  • no-internet
    インターネットへの接続の制限
  • no-network
    ソケット単位で制御されるネットワークの利用の制限
  • no-write
    すべてのファイルの書き込みの制限
  • no-write-except-temporary
    一時ファイル以外のすべてのファイルの書き込みの制限
  • pure-computation
    すべてのOSのリソースやサービスの利用の制限

こういったものは特別な用意を実施することなくmacOS App Sandboxの機能で実現することができます。
これら以外の詳細なアプリケーション独自のルールを使用する場合にはアプリケーションの配布の際に独自のルールファイルを配布物に含め、macOS App Sandboxを利用する形式で実装されたアプリケーションとすることで細かな制御ができるようになっています。

こういった機構への取り組みの成果が一定の効果を上げていることが従来のMac App Storeの成果なのかもしれません。
しかし、そんなmacOS App Sandboxを回避できる概念実証コードが公開されました。

この脆弱性はCVE-2022-26706として公開されました。
この脆弱性を悪用すると、macOS App Sandboxルールを回避して、Word文書内の悪意のあるマクロコードがマシン上でコマンドを実行できてしまいます。

これはアプリケーションに対するmacOS App Sandboxのルールによって課せられたセキュリティ制限にもかかわらず、攻撃者が前述のルールをバイパスし、悪意のあるコードがサンドボックスを「エスケープ」して、影響を受けるデバイスで任意のコマンドを実行する可能性があるということを示します。

この脆弱性をつくコードは非常に短い内容で実現できてしまいます。
公開された概念実証コードの難読化された版ではそのコード量は4行しかありません。

この問題は大きな問題です。
しかし、この問題に対応した修正は2022年5月にすでに配布されています。
ですのでタイムリーにパッチ適用している環境ではこの問題の影響は既にありません。
この問題については、ということになります。
抜け漏れのないタイムリーな運用を心掛けたいものです。

参考記事(外部リンク):Uncovering a macOS App Sandbox escape vulnerability: A deep
dive into CVE-2022-26706

www.microsoft.com/security/blog/2022/07/13/uncovering-a-macos-app-sandbox-escape-vulnerability-a-deep-dive-into-cve-2022-26706/