CVE-2026-33147GMT(Generic Mapping Tools)是一款开源的地理和笛卡尔数据集处理命令行工具集。在6.6.0及更早版本中,src/gmt_remote.c文件的gmt_remote_dataset_id函数存在栈缓冲区溢出漏洞。攻击者可利用通过which模块传入的特制超长字符串作为数据集标识符,触发溢出,从而导致服务崩溃或潜在的任意代码执行。
该漏洞属于典型的栈缓冲区溢出,根因在于`gmt_remote_dataset_id`函数在处理数据集标识符时,未对输入字符串进行严格的长度校验。当攻击者通过特定模块(例如`which`模块)传入一个精心构造的超长字符串时,该字符串会直接复制到栈上的固定大小缓冲区中。由于缺乏边界检查,数据会溢出缓冲区边界,覆盖相邻的栈帧、返回地址或关键寄存器。虽然攻击向量为本地(AV:L)且无需认证(PR:N),但成功利用此漏洞可导致程序崩溃(拒绝服务),或通过覆盖返回地址实现控制流劫持,最终在本地系统上下文中执行任意代码,对系统机密性、完整性和可用性造成不同程度的影响。