macOS 10.13.1 High SierraまでのmacOSに存在するIOHIDFamilyでは、非特権のユーザがカーネルの特権(Read/Write)を取得可能な不具合が存在し、その脆弱性がゼロデイとして公開されています。詳細は以下から。
iOSのJailbreakなどを研究しているSiguzaさんによると、macOS 10.13.1までのmacOSには非特権ユーザーでもカーネルのReal/Writeが可能になり、任意のコードを実行できるようになる可能性があるIOHIDFamilyの脆弱性(通称:IOHIDeous)があるとしてその詳細を公開しています。
Fuck it, dropping a macOS 0day. Happy New Year, everyone. https://t.co/oG2nOlUOjk
— Siguza (@s1guza) 2017年12月31日
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で公開しています。
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のセキュリティチームがフォローアップしてくれるだろうとコメントしています。
People mad at me for dropping a 0day and making them vulnerable: what's your threat model?
If it's script kiddies, you're safe because it's just a LPE and nothing remote.
If it's people who can get remote code exec, what makes you think they don't have kernel r/w as well anyway?— Siguza (@s1guza) 2018年1月1日
おまけ
また、近年多くのソフトウェアやネットワークサービス・ベンダーは脆弱性を報告してもらうことで報奨金を支払う“Bug Bounty Program”を導入していますが、2016年から始まったAppleの制度では報奨金を支払う研究者は招待制で、macOSに対する一般的なBug Bounty Programは無いそうです。
"would've submitted to Apple if their bug bounty included macOS" …yah, why doesn't Apple have a macOS bug bounty program!? Do they not know it's 2018? 🤷♂️ https://t.co/D1RifkGFZl
— patrick wardle (@patrickwardle) 2018年1月1日
- IOHIDeous | IOHIDFamily 0day – Siguza
- Siguza/IOHIDeous: IOHIDFamily 0day – GitHub
コメント
アメリカの大学教授なんかは自分が書いた教科書のミスを学生が見つけたらお駄賃くれるんだよな。
で、appleは招待制の学者にしか報酬を出したく無いと。
そりゃゼロデイで公表されるよね。