macOS 10.13.1までのIOHIDFamilyで非特権ユーザでもカーネルのR/Wが可能になる脆弱性がゼロデイとして公開される。

スポンサーリンク

 macOS 10.13.1 High SierraまでのmacOSに存在するIOHIDFamilyでは、非特権のユーザがカーネルの特権(Read/Write)を取得可能な不具合が存在し、その脆弱性がゼロデイとして公開されています。詳細は以下から。

macOS 10.13 High Sierraのインストーラーアイコン。

 iOSのJailbreakなどを研究しているSiguzaさんによると、macOS 10.13.1までのmacOSには非特権ユーザーでもカーネルのReal/Writeが可能になり、任意のコードを実行できるようになる可能性があるIOHIDFamilyの脆弱性(通称:IOHIDeous)があるとしてその詳細を公開しています。

Introduction
This is the tale of a macOS-only vulnerability in IOHIDFamily that yields kernel r/w and can be exploited by any unprivileged user.

IOHIDeous | IOHIDFamily 0day

 IOHIDFamilyには過去にも度々脆弱性が発見されAppleはこれを修正[1, 2, 3]してきましたが、この脆弱性は少なくとも15年前(2002年)のMac OS X v10.2 Jaguar時代から存在するそうで、IOHIDFamilyのメモリ破損を利用し最終的には特権を持たないユーザーが完全なカーネルのRead/Writeを可能にしSIPを無効にする事ができるそうで、SiguzaさんはIOHIDeousを3部に分けて説明し、それぞれのPoCをGitHubで公開しています。

IOHIDeousの詳細

Usage
The exploit consists of three parts:

  • poc panics the kernel to demonstrate the present of a memory corruption, should work on all macOS versions.
  • leak leaks the kernel slide, could be adapted to other versions but as-is works only on High Sierra.
  • hid achieves full kernel r/w, tested only on Sierra and High Sierra (up to & including 10.13.1), might work on earlier versions too.

Siguza/IOHIDeous: IOHIDFamily 0day – GitHub

 一部のPoCは何らかの理由でmacOS 10.13.2では動作しなかったようですが、Siguzaさんがこの脆弱性をAppleに通知もせずゼロデイとして公開したことで批判を受けている事について、IOHIDeousのPoCはリモートではなくローカル権限昇格(LPE:Local Privilege Escalation)であり、今後は自分をフォローしてくれているAppleのセキュリティチームがフォローアップしてくれるだろうとコメントしています。

スポンサーリンク

おまけ

 また、近年多くのソフトウェアやネットワークサービス・ベンダーは脆弱性を報告してもらうことで報奨金を支払う“Bug Bounty Program”を導入していますが、2016年から始まったAppleの制度では報奨金を支払う研究者は招待制で、macOSに対する一般的なBug Bounty Programは無いようです。

コメント

  1. 匿名 より:

    アメリカの大学教授なんかは自分が書いた教科書のミスを学生が見つけたらお駄賃くれるんだよな。

    で、appleは招待制の学者にしか報酬を出したく無いと。
    そりゃゼロデイで公表されるよね。