Anonymize bt addresses in listAudioPorts
Fix a security bypass where listAudioPorts would provide BT MAC
addresses without the required permission.
If a client doesn't have BLUETOOTH_CONNECT, partially redact the
address. To avoid performance issues, this change:
- Caches uids which hold the permission, invalidating them on the
package manager cache invalidation sysprop
- Ensures we only call the check outside of any locks in audioserver.
Soaking for backport on main, a better solution to follow.
Test: Manual repro using the POC app
Bug: 285588444
Flag: EXEMPT security
Change-Id: Ide27226237236380814e6f19a74d1ce1e72828fd
5 files changed