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

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

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

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

工具目录

分类

查看所有分类
Loading categories
postgresql-cve-2026-14662 — PostgreSQL の全文検索(tsvector/tsquery)に見つかった範囲外書き込み脆弱性 CVE-2026-14662 を、修正前(18.4)と修正後(18.6)を Docker で並べて動かして検証した記録と発表資料 | Kitploit
工具/GitHubGitHub/kihara-1/postgresql-cve-2026-14662
漏洞分析模糊测试论文与研究学习与教育精选资源数据库安全
GitHubkihara-1/postgresql-cve-2026-14662

postgresql-cve-2026-14662

PostgreSQL の全文検索(tsvector/tsquery)に見つかった範囲外書き込み脆弱性 CVE-2026-14662 を、修正前(18.4)と修正後(18.6)を Docker で並べて動かして検証した記録と発表資料

查看仓库
15小时3分前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

追踪 CVE-2026-14662 — PostgreSQL 全文搜索的越界写入漏洞

针对 PostgreSQL 全文搜索数据类型(tsvector / tsquery)中发现的 CVE-2026-14662, 本文记录了在 Docker 中同时运行修复前(18.4)与修复后(18.6)版本,并实际观察行为差异的过程。

本内容为安全学习用途整理,并附带演示资料。

该漏洞概要

项目内容
CVECVE-2026-14662
对象PostgreSQL 的 tsvector / tsquery
类型整数回绕导致的分配大小不足与越界写入
CVSS8.8 / 10.0(High)
公开日期2026-08-13
修复版本18.5、17.11、16.15、15.19、14.24

弱点链条如下所示。

root@kitploit:~
CWE-190(整数溢出)→ CWE-131(缓冲区大小计算错误)→ CWE-787(越界写入)
=根本原因                                                        =最终影响

仓库结构

root@kitploit:~
.
├── docs/
│   └── presentation.md   演示资料(漏洞讲解 + CWE 讲解)
└── docker/
    ├── README.md         复现环境的使用方法
    ├── docker-compose.yml
    ├── init/             向两个版本注入的通用初始化 SQL
    ├── test/             PoC 与演示用 SQL
    └── run.sh            启动 → 执行 PoC → 显示结果

尝试方法

只要有 Docker 和 Docker Compose,仅需以下操作即可复现。

root@kitploit:~
cd docker
./run.sh

18.4 和 18.6 的容器会启动,在注入相同的初始化 SQL 后, 将相同的 PoC 分别注入两个版本并并排显示结果。 详情请参阅 docker/README.md。

观测结果

测试PostgreSQL 18.4(修复前)PostgreSQL 18.6(修复后)
重复 tsquery 的自身 OR 连接直到 18 次均无错误成功(最终 8,650,748 字节)第 17 次时出现 ERROR: tsquery is too large
总长 1,200,000 字节的单词数组竟然成功ERROR: string is too long for tsvector (1200000 bytes, max 1048575 bytes)
单个 3,000 字节的单词竟然成功ERROR: word is too long (3000 bytes, max 2046 bytes)

修复前,超过内部表示上限(由 20 位位字段产生的 MAXSTRPOS = 1,048,575)的 数据会被毫无错误地接受。

另外,18.6 在“恰好第 17 次”停止的原因可以通过计算解释, 并已确认理论值与实测值在字节级别完全一致(详见演示资料)。

关于 PostgreSQL 本体源码

确认差异时使用了 PostgreSQL 官方仓库的克隆, 但由于体积较大(各 185MB),未包含在本仓库中。 如需获取,请按以下方式拉取。

root@kitploit:~
git clone --branch REL_18_4 --depth 1 https://github.com/postgres/postgres.git postgres-18.4
git clone --branch REL_18_6 --depth 1 https://github.com/postgres/postgres.git postgres-18.6

包含修复的文件有以下 3 个。

  • src/backend/utils/adt/tsquery_util.c
  • src/backend/utils/adt/tsvector.c
  • src/backend/utils/adt/tsvector_op.c

注意事项

  • 此处包含的 PoC 用于确认已修复并公开的漏洞在修复版本中边界检查是否生效。 不包含执行任意代码的漏洞利用程序。
  • 请在一次性使用的 Docker 容器内执行。请勿在生产环境中运行。
  • 本仓库的 CWE 分类是基于官方公告说明文的笔者分析 (官方公告中未明确标注 CWE 编号)。

参考

  • CVE-2026-14662 官方公告
  • CWE-787: Out-of-bounds Write
  • CWE-190: Integer Overflow or Wraparound
  • CWE-131: Incorrect Calculation of Buffer Size
下载工具