Android: pointer leak via...

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

When frameworks/native/libs/binder/Parcel.cpp reads e.g. a string from a parcel, it does not verify that the string doesn't overlap with any byte range that was tagged as a binder object by the sender. When an attacker sends a parcel to a victim process that contains an unexpected binder handle referring to an object from the victim process where string data is expected, the kernel replaces the attacker-specified handle with a pointer to the object in the victim process. The victim then treats that pointer as part of the attacker-supplied input data, possibly making it available to the attacker at a later point in time. One example of such an echo service is the "clipboard" service: Strings written using setPrimaryClip() can be read back using getPrimaryClip(). A PoC that leaks the addresses of the "permission", "package" and "clipboard" services from system_server is attached (source code and apk). Its logcat output looks like this: ``` =============== [...] 01-15 05:20:54.529...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息