
CVE-2015-1474에 대한 개념 증명 익스플로잇으로, 역직렬화를 통해 Android SurfaceFlinger에서 악의적인 Parcel 충돌을 유발하여 영향을 받는 장치에서 권한 상승을 가능하게 합니다.
이 코드는 CVE-2015-1474에 대한 PoC의 시도입니다. 이 코드는 screencap 명령의 코드를 기반으로 하지만, 역직렬화될 때 surfaceflinger를 충돌시키는 rogue parcel을 생성합니다. 자세한 내용은 http://forum.xda-developers.com/kindle-fire-hdx/orig-development/evaluating-cve-2015-1474-to-escalate-to-t3045163 에서 확인하세요.
frameworks/base/cmds/badscreencap 디렉토리 아래에 클론하고 mmm frameworks/base/cmds/badscreencap으로 컴파일하세요. 컴파일하려면 BBinder::onTransact의 가시성을 public으로 변경해야 합니다 (frameworks/native/include/Binder.h 파일에서). 이는 해당 메서드의 vtable 오프셋을 얻기 위해 필요합니다. 전체 네이티브 Android 프레임워크를 빌드하고 싶지 않다면, 필요한 .so 파일을 기기(또는 OTA 패키지)에서 가져올 수 있습니다.