CVE-2026-4946Ghidra 12.0.3之前的版本在处理二进制文件自动提取的注释指令时存在安全缺陷。程序错误地解析了嵌入在自动分析数据(如Mach-O二进制文件的CFStrings)中的@execute注解。该注解原本仅用于受信任的用户评论,但在此情况下,攻击者可利用此漏洞构建恶意二进制文件。当安全分析师在Ghidra UI界面中与这些看似无害的文本进行交互(如点击)时,将导致在分析师的机器上执行任意攻击者控制的命令,从而造成严重的安全风险。
该漏洞的根本原因在于Ghidra未能区分用户手动输入的可信注释与从二进制文件自动提取的不可信字符串。在Ghidra的自动分析流程中,解析器会扫描Mach-O二进制文件并提取CFStrings(C语言格式字符串)并将其转换为反汇编界面中的注释。然而,受影响的版本在渲染这些注释时,未对@execute指令进行过滤或沙箱隔离。当分析师点击包含@execute指令的CFString时,Ghidra会将其解释为脚本运行命令。由于攻击者可以完全控制二进制文件内容,他们可以构造特定的载荷,在点击事件触发时执行系统命令(如启动Shell或下载恶意软件),无需任何身份认证即可实现从分析软件到本地系统的跨越。