← 返回博客

PostgreSQL CVE-2026-15742:用了 fuzzystrmatch 的先查版本

PostgreSQL 近期披露的 CVE-2026-15742 是个高危漏洞,影响安装了 fuzzystrmatch 扩展的实例。这个扩展常被用在模糊匹配、相似度搜索场景(levenshtein、soundex、metaphone),很多业务库装了之后就忘了它的存在——这正是风险所在:你可能根本不记得自己装过它。

受影响版本

以下修复版本之前的版本均受影响:

大版本 修复版本
18 18.6
17 17.11
16 16.15
15 15.19
14 14.24
13 及以下 已 EOL,视为受影响

两条 SQL 自查

-- 1. 是否安装了 fuzzystrmatch
SELECT extname, extversion FROM pg_extension WHERE extname = 'fuzzystrmatch';

-- 2. 当前版本
SHOW server_version;

第一条有返回、且第二条版本低于上表对应修复版本 → 受影响,安排升级。

修复与缓解

  • 根治:升级到上表中的修复版本(小版本升级通常不需要停机太久,但先在测试环境验证)。
  • 临时缓解:如果业务暂时无法升级,评估是否可以先 DROP EXTENSION fuzzystrmatch(确认没有对象依赖它)。
  • 13 及以下大版本已经 EOL,没有修复版本,只能升级大版本。

dbcheck 已内置这项检查

dbcheck 的 PostgreSQL 引擎已加入 CVE-2026-15742 规则:上传 pg_check.sh 采集包,自动检测 fuzzystrmatch 安装情况与版本,命中即报高危并给出修复版本。版本未知时不误报——这是我们有意为之的:巡检工具的第一原则是不制造噪音。

遇到类似问题?

上传采集包,让 dbcheck 给你的数据库做一次全面体检,免费看评分与风险摘要。

免费开始巡检