Apple iOS / MacOS Domain Socket... CVE-2017-2501 CNNVD-201705-1019

7.6 AV AC AU C I A
发布: 2017-05-22
修订: 2019-03-21

iOS/MacOS kernel uaf due to bad locking in unix domain socket file descriptor externalization unp_externalize is responsible for externalizing the file descriptors carried within a unix domain socket message. That means allocating new fd table entries in the receiver and recreating a file which looks looks (to userspace) like the file the sender sent. Here's the relevant code: ``` for (i = 0; i < newfds; i++) { <----------- (a) #if CONFIG_MACF_SOCKET /* * If receive access is denied, don't pass along * and error message, just discard the descriptor. */ if (mac_file_check_receive(kauth_cred_get(), rp[i])) { proc_fdunlock(p); unp_discard(rp[i], p); fds[i] = 0; proc_fdlock(p); continue; } #endif if (fdalloc(p, 0, &f)) panic("unp_externalize:fdalloc"); fp = fileproc_alloc_init(NULL); if (fp == NULL) panic("unp_externalize: MALLOC_ZONE"); fp->f_iocount = 0; fp->f_fglob = rp[i]; if (fg_removeuipc_mark(rp[i])) fgl[i] = rp[i]; else fgl[i] = NULL; procfdtbl_releasefd(p, f, fp); fds[i] = f;...

0%
当前有2条漏洞利用/PoC
当前有4条受影响产品信息