Vivid Headlines

Android qrtr_bpf_filter_detach Double-Free / Use-After-Free


Android qrtr_bpf_filter_detach Double-Free / Use-After-Free

There appears to be some (possibly deprecated) code associated with AF_QIPCRTR sockets in bpf_service.c. Within this file are some ioctl handlers - e.g. qrtr_bpf_filter_attach and qrtr_bpf_filter_detach. In the case of qrtr_bpf_filter_detach, the global pointer bpf_filter is fetched and freed while only holding a socket lock (and an irrelevant rcu_read_lock) - this may lead directly to double frees or use-after-free (kernel memory corruption) if a malicious user is able to call the QRTR_DETTACH_BPF ioctl on multiple AF_QIPCRTR sockets at once. Based on Android SELinux files, it appears this may be possible from some lower-privileged vendor and HAL services.

Previous articleNext article

POPULAR CATEGORY

entertainment

12457

discovery

5620

multipurpose

13065

athletics

12950