CVE-2026-27238Adobe InDesign Desktop 20.5.2、21.2及更早版本中存在基于堆的缓冲区溢出漏洞。该漏洞源于程序处理特定文件格式时未正确验证输入数据长度,导致内存堆越界写入。攻击者可诱导受害者打开特制的恶意文档,在当前用户上下文中执行任意代码。由于漏洞利用需要用户交互,攻击者常通过钓鱼邮件分发恶意文件。该漏洞CVSS评分为7.8,属于高危级别。
该漏洞属于典型的堆缓冲区溢出,根因在于InDesign在解析特定文档元素时未对输入数据长度进行严格边界检查。当应用程序处理恶意构造的文件时,会在堆内存上分配固定大小的缓冲区以存储文件数据。然而,由于缺乏对实际复制数据长度的验证,程序执行的内存拷贝操作(如memcpy)会超出预分配缓冲区的边界。这种越界写入不仅导致应用程序崩溃,更严重的是,攻击者可以通过精心构造溢出数据,覆盖相邻内存块中的关键数据结构,例如堆元数据、虚函数表指针或返回地址。通过控制这些指针,攻击者可以将程序的执行流重定向到恶意载荷(如Shellcode)或ROP(面向返回编程)链中。尽管攻击受限于当前用户的权限上下文,但一旦利用成功,攻击者即可获得与登录用户相同的系统控制权,执行窃取数据、安装后门等恶意操作。