已关闭
CVE-2026-89156 #42
openeuler-ci-bot创建于  17 天前关闭于  12 天前
openeuler-ci-bot
openeuler-ci-bot成员
17 天前 创建

一、漏洞信息
漏洞编号:CVE-2026-89156
漏洞归属组件:pcre2
漏洞归属的版本:10.35,10.36,10.39,10.40,10.42,10.47,10.48
CVSS评分:
BaseScore:N/A None
Vector:
漏洞简述:
PCRE2 before 10.48 has a pcre2_match out-of-bounds read after a JIT fallback when an attacker can provide invalid UTF data.
漏洞公开时间:2026-09-11 12:35:21
漏洞创建时间:2026-09-11 13:07:13
漏洞详情参考链接:
https://nvd.nist.gov/vuln/detail/CVE-2026-89156

更多参考(点击展开)
参考来源 参考链接 来源链接
https://github.com/PCRE2Project/pcre2/releases/tag/pcre2-10.48
https://github.com/PCRE2Project/pcre2/security/advisories/GHSA-2p8c-ff85-vh9x

漏洞分析指导链接:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
漏洞数据来源:
七彩瞬析开源风险感知平台
漏洞补丁信息:

详情(点击展开)

无

二、漏洞分析结构反馈
影响性分析说明:
PCRE2 before 10.48 has a pcre2_match out-of-bounds read after a JIT fallback when an attacker can provide invalid UTF data.
openEuler评分:
2.9
Vector:CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
受影响版本排查(受影响/不受影响):
1.master(10.48):不受影响
2.openEuler-20.03-LTS-SP4(10.35):受影响
3.openEuler-22.03-LTS-SP4(10.39):受影响
4.openEuler-24.03-LTS-Next(10.42):受影响
5.openEuler-24.03-LTS-SP1(10.42):受影响
6.openEuler-24.03-LTS-SP3(10.42):受影响
7.openEuler-24.03-LTS-SP4(10.42):受影响

修复是否涉及abi变化(是/否):
1.master(10.48):否
2.openEuler-20.03-LTS-SP4(10.35):否
3.openEuler-22.03-LTS-SP4(10.39):否
4.openEuler-24.03-LTS-Next(10.42):否
5.openEuler-24.03-LTS-SP1(10.42):否
6.openEuler-24.03-LTS-SP3(10.42):否
7.openEuler-24.03-LTS-SP4(10.42):否

原因说明:
1.master(10.48):不受影响-漏洞代码不存在
2.openEuler-20.03-LTS-SP4(10.35):正常修复
3.openEuler-22.03-LTS-SP4(10.39):正常修复
4.openEuler-24.03-LTS-Next(10.42):正常修复
5.openEuler-24.03-LTS-SP1(10.42):正常修复
6.openEuler-24.03-LTS-SP3(10.42):正常修复
7.openEuler-24.03-LTS-SP4(10.42):正常修复

likedislike
openeuler-ci-botopeneuler-ci-bot成员
17 天前 添加了label:CVE/UNFIXED
openeuler-ci-bot
openeuler-ci-bot成员
17 天前 评论:

issue处理注意事项:
1. 提交正常修复分支的修复PR时,必须关联当前issue,否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复;
注: 内容的关键词(影响性分析说明, openEuler评分, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否), 原因说明)不能省略,省略后cve-manager将无法正常解析填写内容.


影响性分析说明:

openEuler评分: (评分和向量)

受影响版本排查(受影响/不受影响):
1.master(10.48):
2.openEuler-20.03-LTS-SP4(10.35):
3.openEuler-22.03-LTS-SP4(10.39):
4.openEuler-24.03-LTS-Next(10.42):
5.openEuler-24.03-LTS-SP1(10.42):
6.openEuler-24.03-LTS-SP3(10.42):
7.openEuler-24.03-LTS-SP4(10.42):

修复是否涉及abi变化(是/否):
1.master(10.48):
2.openEuler-20.03-LTS-SP4(10.35):
3.openEuler-22.03-LTS-SP4(10.39):
4.openEuler-24.03-LTS-Next(10.42):
5.openEuler-24.03-LTS-SP1(10.42):
6.openEuler-24.03-LTS-SP3(10.42):
7.openEuler-24.03-LTS-SP4(10.42):

原因说明:
1.master(10.48):
2.openEuler-20.03-LTS-SP4(10.35):
3.openEuler-22.03-LTS-SP4(10.39):
4.openEuler-24.03-LTS-Next(10.42):
5.openEuler-24.03-LTS-SP1(10.42):
6.openEuler-24.03-LTS-SP3(10.42):
7.openEuler-24.03-LTS-SP4(10.42):


原因说明填写请参考下方表格(注意:版本是否受影响和版本的原因说明必须对应,例如master版本分支受影响,那原因说明只能是受影响对应的原因之一!):

分支状态
原因说明 使用场景
受影响 正常修复 受影响且需要修复(包含升级版本修复)的漏洞;
受影响且已经修复的漏洞(历史修复PR也需要关联issue);
若因特殊原因无法修复,应修改原因说明为【不修复-特殊原因】,并在安委会备案相关情况。
受影响 暂不修复-漏洞仍在分析中 已关注到相关漏洞,正在处理,未明确漏洞影响和修复方案。
受影响 暂不修复-暂无解决方案或补丁 当前没有可用的修复或补救措施。【影响性分析】中应包含有关为什么没有修复或补救措施的详细说明、上游相关PR等。
受影响 不修复-超出修复范围 没有漏洞的修复计划。当版本停维、软件包宣布生命周期终止或弃用使用。
受影响 不修复-特殊原因导致不再修复 如存在其他特殊情况不修复相关漏洞,或评估后无法升级修复,应在openEuler社区安全委员会例会进行说明备案。
【影响性分析】中应包含不发布修复的详细说明、特殊情况还应有安委会会议纪要。
不受影响 不受影响-组件不存在 软件不受影响,因为易受攻击的组件不在产品中。
不受影响 不受影响-已有内置的内联控制或缓解措施 内置的内联控制或缓解措施可防止攻击者利用漏洞
不受影响 不受影响-漏洞代码不能被攻击者触发 易受攻击的组件存在,并且该组件包含易受攻击的代码。但是,易受攻击的代码的使用方式使得攻击者无法进行任何预期的攻击。
不受影响 不受影响-漏洞代码不在执行路径 易受影响的代码在执行过程中不可访问,包括产品的非预期状态。产品不使用也不执行的组件。
不受影响 不受影响-漏洞代码不存在 产品不受影响,因为漏洞背后的代码在产品中不存在。与component_not_present不同的是,有问题的组件存在,但由于某种原因(例如安全的编译器选项)使漏洞的特定代码不存在于组件中。

issue处理具体操作请参考:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
pr关联issue具体操作请参考:
https://docs.atomgit.com/docs/help/home/org_project/pullrequests/pr-related-issue

likedislike
openeuler-ci-botopeneuler-ci-bot成员
17 天前 将 openeuler-ci-bot、licihua、dillon_chen、overweight、zhujianwei001、xujing99、shenyangyang 设为负责人
openeuler-ci-botopeneuler-ci-bot成员
17 天前 添加了label:sig/Base-service
openeuler-ci-bot
openeuler-ci-bot成员
17 天前 评论:

Welcome To openEuler Community

Hey @openeuler-ci-bot , thanks for your contribution to the community.

Bot Usage Manual

I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands. You can self-configure the PR merge rules for this repository. For more details, please refer to Here.

Contact Guide

If you have any questions, please contact the SIG: Base-service ,
and any of the maintainers: @dillon_chen, @licihua, @overweight, @shenyangyang, @xujing99, @zhujianwei001 ,
and any of the committers: @jiayi0118, @licunlong, @protkhn, @shenyangyang, @xujing99, @yue-yuankun .

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
17 天前 评论:
参考网址 关联pr 状态 补丁链接
https://www.opencve.io/cve/CVE-2026-89156
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2026-89156
https://security-tracker.debian.org/tracker/CVE-2026-89156
http://www.cnnvd.org.cn/web/vulnerability/queryLds.tag?qcvCnnvdid=CVE-2026-89156
https://nvd.nist.gov/vuln/detail/CVE-2026-89156
https://ubuntu.com/security/CVE-2026-89156NoneNonehttps://discourse.ubuntu.com/c/project

说明:补丁链接仅供初步排查参考,实际可用性请人工再次确认,补丁下载验证可使用CVE补丁工具。
若补丁不准确,烦请在此issue下评论 '/report-patch 参考网址 补丁链接1,补丁链接2' 反馈正确信息,便于我们不断优化工具,不胜感激。
如 /report-patch https://security-tracker.debian.org/tracker/CVE-2021-3997 https://github.com/systemd/systemd/commit/5b1cf7a9be37e20133c0208005274ce4a5b5c6a1

likedislike
openeuler-ci-botopeneuler-ci-bot成员
16 天前 修改了issue 的描述
openeuler-ci-botopeneuler-ci-bot成员
16 天前 移除了负责人 licihua、dillon_chen、protkhn、overweight、zhujianwei001、xujing99、shenyangyang
wjiang
wjiang
13 天前 评论:

/branches master openEuler-24.03-LTS-SP4 openEuler-22.03-LTS-SP4 openEuler-20.03-LTS-SP4 /patch_url https://github.com/PCRE2Project/pcre2/commit/f67db227af31bba7cdf2a7a00b97af91b588c2f5.patch /name wjiang /email cameyan@163.com

likedislike
xiaoo_robot
xiaoo_robot
13 天前 评论:

正在自动化处理任务,任务编号:TASK-gitcode__pcre2-42-20260914152821-0,指定分支:master,使用指定补丁(1个)

✅ 任务结束 (用时: 11分钟)

likedislike
xiaoo_robot
xiaoo_robot
13 天前 评论:

正在自动化处理任务,任务编号:TASK-gitcode__pcre2-42-20260914152822-1,指定分支:openEuler-24.03-LTS-SP4,使用指定补丁(1个)

✅ 任务结束 (用时: 126分钟)

likedislike
xiaoo_robot
xiaoo_robot
13 天前 评论:

正在自动化处理任务,任务编号:TASK-gitcode__pcre2-42-20260914152822-2,指定分支:openEuler-22.03-LTS-SP4,使用指定补丁(1个)

✅ 任务结束 (用时: 172分钟)

likedislike
xiaoo_robot
xiaoo_robot
13 天前 评论:

正在自动化处理任务,任务编号:TASK-gitcode__pcre2-42-20260914152823-3,指定分支:openEuler-20.03-LTS-SP4,使用指定补丁(1个)

✅ 任务结束 (用时: 56分钟)

likedislike
xiaoo_robot
xiaoo_robot
13 天前 评论:

【任务 #42 · master】CVE-2026-89156

1. 受影响性分析

结论:不受影响。

原因:CVE-2026-89156 的自有补丁经 Step 4 源码影响性分析判为 NOT_APPLICABLE,漏洞代码不存在于本版本源码,无需修复。

分支明细:

  • master(版本 10.48):不受影响(漏洞代码不存在,补丁 NOT_APPLICABLE),ABI 变化:否

2. 修复补丁

上游社区补丁:https://github.com/PCRE2Project/pcre2/commit/f67db227af31bba7cdf2a7a00b97af91b588c2f5.patch

该补丁仅作为上游修复参考,经分析在本版本源码上不适用。

3. 补丁适配情况

无需适配:漏洞代码不存在于 master 分支源码,补丁判为 NOT_APPLICABLE,未做任何适配改动。

4. PR 提交情况

无 PR:本任务结论为不受影响,无需修复,故未提交修复 PR。

likedislike
xiaoo_robot
xiaoo_robot
13 天前 评论:

【任务 #42 · openEuler-20.03-LTS-SP4】CVE-2026-89156

1. 是否受影响

结论:受影响。

Step 4 源码影响性分析判为 NEEDS_ADAPTATION:10.35 源码中存在与补丁 pre-image 几乎逐字一致的漏洞代码路径——pcre2_match()(src/pcre2_match.c:6135)中的 use_jit 门控(6253-6254/6310)、jit_checked_utf 标志(6182/6371/6424),以及 "rc != PCRE2_ERROR_JIT_BADOPTION 时回落解释器并跳过解释器自身 UTF 校验" 的逻辑(6378-6392),正是 CVE 描述的 JIT fallback 后越界读根因。修复代码 jit_check_exec 在全源码中缺失,确认补丁未应用,漏洞代码存在于本版本源码,需要修复。

  • openEuler-20.03-LTS-SP4(pcre2 10.35):受影响

2. 修复补丁

上游补丁:https://github.com/PCRE2Project/pcre2/commit/f67db227af31bba7cdf2a7a00b97af91b588c2f5.patch

3. 补丁适配情况

本次未产出适配补丁。上游补丁基于 10.43+ 重构后的源码布局,无法直接 git apply:两个目标文件 src/pcre2_jit_match_inc.h、src/pcre2_jit_misc_inc.h 在 10.35 中不存在(对应为 pcre2_jit_match.c / pcre2_jit_misc.c)。Step 5 的 AI 适配尝试失败,尚无可落地的适配补丁,需人工针对 10.35 文件布局改写并保真 jit_check_exec 核心修复逻辑。

4. PR 情况

未提交 PR。

5. 流水线失败原因

流水线在 Step 5 补丁适配失败(最后检查点:Step 3 源码展开完成)。backport-CVE-2026-89156.patch 以 git am 应用时因 src/pcre2_internal.h 等冲突失败(返回码 128),转入 AI 适配后仍未产出输出补丁;因 CVE 场景不允许跳过补丁,该补丁被丢弃。

likedislike
xiaoo_robotxiaoo_robot
13 天前 关联了pull request:fix: CVE-2026-89156 - openEuler-24.03-LTS-SP4
xiaoo_robot
xiaoo_robot
13 天前 评论:

【任务 #42 · openEuler-24.03-LTS-SP4】CVE-2026-89156

是否受影响:受影响
Step 4 源码影响性分析判为 NEEDS_ADAPTATION:CVE 描述的漏洞模式(pcre2_match 提前计算 use_jit → JIT 分支完成 UTF 校验并置 jit_checked_utf → pcre2_jit_match 因模式未编译返回 PCRE2_ERROR_JIT_BADOPTION 回退解释器 → 解释器因 !jit_checked_utf 跳过自身 UTF 校验,导致 invalid UTF 越界读)在 10.42 的 src/pcre2_match.c:6376/6389/6456-6457/6513/6573-6594/6626-6627 中逐字存在,漏洞代码在本版本源码中真实存在,需要修复。

  • 分支状态:openEuler-24.03-LTS-SP4,版本 10.42,受影响(ABI 变化:N/A)

修复补丁

补丁适配情况

  • [原补丁] backport-CVE-2026-89156.patch:已适配(confidence: high)
    • 冲突原因:上游补丁基于 pcre2 master(采用 pcre2_jit_match_inc.h/pcre2_jit_misc_inc.h 命名,且已含 original_options/original_subject 重构),目标为 10.42,文件组织与上下文存在差异;12 个 hunk 中 7 个可原样应用,5 个冲突。
    • 适配内容:
      • h03/h04/h05(文件重命名):上游 _inc.h 在 10.42 对应 pcre2_jit_match.c/pcre2_jit_misc.c,做纯路径映射;
      • h09(上下文漂移):10.42 在 JIT UTF 校验分支内保留 #if PCRE2_CODE_UNIT_WIDTH != 32/unsigned int i;/#endif 三行,CVE 核心行逐字节保留;
      • h10(语义适配):保留 PCRE2_ASSERT 两行等核心变更,省略 10.42 中不存在的 original_options/original_subject 相关赋值,subject 拷贝体保持 10.42 自身 was_zero_terminated 逻辑仅去一层嵌套。
    • 核心修复逻辑保真:移除 !jit_checked_utf 的关键 hunk 与 10.42 上下文完全匹配,PRIV(jit_check_exec) 插入点及所需 struct 符号在 src/pcre2_jit_misc.c:200-216 中逐行可寻。
    • 落地验证:适配后补丁在 pristine baseline worktree 上 git apply --check 通过,并已应用到 source_dir 提交(4 个文件,+62/-55)。

是否提交 PR

likedislike
xiaoo_robotxiaoo_robot
13 天前 关联了pull request:fix: CVE-2026-89156 - openEuler-22.03-LTS-SP4
xiaoo_robot
xiaoo_robot
13 天前 评论:

【任务 #42 · openEuler-22.03-LTS-SP4】CVE-2026-89156

1. 是否受影响

  • 结论:受影响
  • 原因:CVE 描述的漏洞路径(pcre2_match + JIT fallback + invalid UTF + 越界读)在 10.39 源码中逐行存在——pcre2_match() 定义于 src/pcre2_match.c:6134,use_jit 判定(6252-6256/6310)未检查所选模式是否已 JIT 编译;JIT UTF 预校验后置 jit_checked_utf=TRUE(6371),而 pcre2_jit_match 在模式未编译时返回 PCRE2_ERROR_JIT_BADOPTION(src/pcre2_jit_match.c:120),使 pcre2_match 落入解释器(6380),解释器 UTF 校验又被 !jit_checked_utf 守卫(6422-6426)跳过,与补丁提交信息描述的缺陷完全吻合,需要修复。
  • 分支状态:openEuler-22.03-LTS-SP4(版本 10.39):受影响

2. 修复补丁

3. 补丁适配情况

  • 已完成适配:backport-CVE-2026-89156.patch(status: adapted,confidence: high)
  • 冲突原因:原补丁 12 个 hunk 中 7 个可直接应用,5 个因上游与 10.39 的代码差异需适配——上游已将 src/pcre2_jit_match.c / src/pcre2_jit_misc.c 重构为 _inc.h 包含文件(10.39 中为同名 .c 文件,由 pcre2_jit_compile.c 末尾 include,内容逐行一致);另有两处 hunk 上下文存在与 CVE 无关的版本差异。
  • 适配内容:将相关 hunk 路径重定位回 10.39 的同名 .c 文件;hunk9 保留 10.39 特有的变量声明块不动;hunk10 保持 10.39 现有的 was_zero_terminated 旧式 subject 拷贝逻辑(仅因移除 BADOPTION if 包裹取消一层缩进)。核心修复逐字保真落地:jit_check_exec 三重条件判定、BADOPTION fallthrough 移除并替换为 PCRE2_ASSERT、jit_checked_utf 机制全链移除、解释器 UTF 校验无条件化。
  • 落地验证:已应用到 source_dir(commit 3d90b06,git diff --stat 确认 4 文件 +62/-55);gcc -fsyntax-only 在 8/16/32 位宽及 JIT/非 JIT 配置下全部通过;适配补丁在干净 baseline 副本上 git apply --check 通过,diff 与 source_dir 提交完全一致。

4. PR 情况

likedislike
wjiang
wjiang
13 天前 评论:
likedislike
xiaoo_robot
xiaoo_robot
13 天前 评论:

正在自动化处理任务,任务编号:TASK-gitcode__pcre2-42-20260915082900,指定分支:openEuler-20.03-LTS-SP4,使用指定补丁(1个)

✅ 任务结束 (用时: 34分钟)

likedislike
xiaoo_robot
xiaoo_robot
13 天前 评论:

【任务 #42 · openEuler-20.03-LTS-SP4】CVE-2026-89156

1. 受影响性判定:受影响

漏洞本质为 pcre2_match 在 JIT 校验后回退解释器,并因 jit_checked_utf 标志跳过解释器自身的 UTF 校验,导致越界读取。Step 4 源码影响性分析确认漏洞代码完整存在于本分支源码:src/pcre2_match.c 中 use_jit 判定(6169/6253/6310)、JIT 分支 UTF 校验后置 jit_checked_utf=TRUE(6371)、pcre2_jit_match 返回 PCRE2_ERROR_JIT_BADOPTION 时回退解释器(6375-6400)、解释器因 !jit_checked_utf 跳过 UTF 校验(6423-6426),与漏洞模式逐字匹配,需要修复。

  • openEuler-20.03-LTS-SP4 / 版本 10.35 / 受影响(ABI 变化:N/A)

2. 上游修复补丁

已找到:https://github.com/PCRE2Project/pcre2/commit/f67db227af31bba7cdf2a7a00b97af91b588c2f5.patch

3. 补丁适配情况

本次未完成适配(Step 5 适配失败,无已落地补丁)。补丁基于上游新版本,Step 4 判定 NEEDS_ADAPTATION(冲突等级 major),主要冲突点:

  • 文件重定向:补丁中的 src/pcre2_jit_match_inc.h、src/pcre2_jit_misc_inc.h 在 10.35 不存在(_inc.h 拆分为上游后续版本的改动),对应代码位于 src/pcre2_jit_match.c 与 src/pcre2_jit_misc.c(由 pcre2_jit_compile.c #include),需改写目标文件名并调整文件末尾注释。
  • 结构性改写:pcre2_match.c @@ -7204 hunk 引用的 original_options/original_subject/match_data->options 为上游后续版本引入,10.35 对应块为 was_zero_terminated/CU2BYTES 变体(6375-6400),该 hunk 须手工改写(保留 PCRE2_ASSERT 替换与删除 jit_checked_utf=TRUE,舍弃不存在变量的行)。
  • 其余 hunk(pcre2_match.c 6 处、pcre2_internal.h 2 处)旧侧上下文与 10.35 逐字一致,仅行号偏移,可直接对齐。
  • 前置补丁:无。

4. PR 情况

未提交 PR。

5. 流水线失败原因

流水线在 Step 5(补丁适配)失败。git am 返回码 128(patch --dry-run 在 src/pcre2_internal.h 等处冲突),转入 AI 适配后未产出适配补丁(“适配失败: 未找到输出补丁”);CVE 场景不允许跳过补丁,该补丁被丢弃。流水线最终检查点为 Step 3 源码展开完成(Step 4 影响性分析已产出),建议人工按上述冲突点完成补丁适配后重跑流水线。

likedislike
wjiang
wjiang
13 天前 评论:
likedislike
xiaoo_robot
xiaoo_robot
13 天前 评论:

正在自动化处理任务,任务编号:TASK-gitcode__pcre2-42-20260915103716,指定分支:openEuler-20.03-LTS-SP4,使用指定补丁(1个)

✅ 任务结束 (用时: 116分钟)

likedislike
xiaoo_robotxiaoo_robot
13 天前 关联了pull request:fix: CVE-2026-89156 - openEuler-20.03-LTS-SP4
xiaoo_robot
xiaoo_robot
13 天前 评论:

【任务 #42 · openEuler-20.03-LTS-SP4】CVE-2026-89156

1. 受影响性结论:受影响

Step 4 源码影响性分析将该 CVE 自有补丁判为 NEEDS_ADAPTATION,核心漏洞模式在 pcre2-10.35 源码中完整可定位:src/pcre2_match.c:6253-6254 计算 use_jit;6310 if (use_jit) 执行 JIT 专属 UTF 校验并置 jit_checked_utf=TRUE(6371);6378 调用 pcre2_jit_match,当请求的匹配模式未编译时返回 PCRE2_ERROR_JIT_BADOPTION(见 src/pcre2_jit_match.c:120)而回落解释器;解释器又因 6424 行的 !jit_checked_utf && 条件跳过自身 UTF 校验与设置——正是 CVE 描述的越界读路径。漏洞代码存在于本版本源码,需要修复。

  • 分支状态:openEuler-20.03-LTS-SP4,版本 10.35,受影响(ABI 变化:N/A)

2. 修复补丁

上游补丁:https://github.com/PCRE2Project/pcre2/commit/f67db227af31bba7cdf2a7a00b97af91b588c2f5.patch

3. 补丁适配情况

已适配:backport-CVE-2026-89156.patch(状态 adapted,置信度 high)。

  • 冲突原因:补丁基于新版上游布局(JIT 源文件已更名为 *_inc.h,pcre2_match.c 的 JIT 块位于 ~7005-7267 行),而目标为 openEuler 维护的 pcre2-10.35(版本宏 10.35/2020-05-09,虽已回溯大量符号),文件布局与上下文差异导致无法直接应用。
  • 适配内容:原补丁 12 hunk(4 文件)中 7 个直接应用,5 个适配——JIT 源文件重命名重定向(pcre2_jit_match_inc.h→src/pcre2_jit_match.c、pcre2_jit_misc_inc.h→src/pcre2_jit_misc.c,后者将 jit_get_target 原位改造为 jit_check_exec 并在文件末尾恢复原函数);pcre2_match.c JIT 块改写为 jit_check_exec 三行条件,保留 10.35 循环依赖的 unsigned int i 声明与 baseline 已有的 #ifdef SUPPORT_UNICODE 包裹;BADOPTION 块按语义适配(删除 jit_checked_utf=TRUE、去掉解释器回退与 BADOPTION 注释,subject 拷贝保持 baseline 的 was_zero_terminated 风格,省略 10.35 全树不存在的 original_options/original_subject 符号)。核心修复逻辑保真:进入 JIT 前用 PRIV(jit_check_exec) 确认对应模式已编译,JIT 分支不再回退解释器,解释器自身 UTF 校验必然执行。
  • 落地验证:补丁通过 git apply --check 并实际应用到源码目录,git diff --stat 确认 4 文件 62 insertions/55 deletions(提交 66b1340);gcc -fsyntax-only 验证 pcre2_match.c 0 错误,JIT 编译单元仅剩 baseline 同样存在的 config 环境错误(MATCH_LIMIT 需 config.h)。

无遗留冲突项,无前置补丁。

4. PR 提交情况

已提交 PR(openEuler-20.03-LTS-SP4):https://gitcode.com/src-openeuler/pcre2/merge_requests/171

likedislike
wjiang
wjiang
13 天前 评论:

影响性分析说明:
PCRE2 before 10.48 has a pcre2_match out-of-bounds read after a JIT fallback when an attacker can provide invalid UTF data.

openEuler评分: (评分和向量)
2.9
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

受影响版本排查(受影响/不受影响):
1.master(10.48):不受影响
2.openEuler-20.03-LTS-SP4(10.35):受影响
3.openEuler-22.03-LTS-SP4(10.39):受影响
4.openEuler-24.03-LTS-Next(10.42):受影响
5.openEuler-24.03-LTS-SP1(10.42):受影响
6.openEuler-24.03-LTS-SP3(10.42):受影响
7.openEuler-24.03-LTS-SP4(10.42):受影响

修复是否涉及abi变化(是/否):
1.master(10.48):否
2.openEuler-20.03-LTS-SP4(10.35):否
3.openEuler-22.03-LTS-SP4(10.39):否
4.openEuler-24.03-LTS-Next(10.42):否
5.openEuler-24.03-LTS-SP1(10.42):否
6.openEuler-24.03-LTS-SP3(10.42):否
7.openEuler-24.03-LTS-SP4(10.42):否

原因说明:
1.master(10.48):不受影响-漏洞代码不存在
2.openEuler-20.03-LTS-SP4(10.35):正常修复
3.openEuler-22.03-LTS-SP4(10.39):正常修复
4.openEuler-24.03-LTS-Next(10.42):正常修复
5.openEuler-24.03-LTS-SP1(10.42):正常修复
6.openEuler-24.03-LTS-SP3(10.42):正常修复
7.openEuler-24.03-LTS-SP4(10.42):正常修复

likedislike
openeuler-ci-botopeneuler-ci-bot成员
13 天前 修改了issue 的描述
openeuler-ci-bot
openeuler-ci-bot成员
13 天前 评论:

@openeuler-ci-bot 经过 cve-manager 解析, 已分析的内容如下表所示:

状态 分析项目 内容
已分析 1.影响性分析说明 PCRE2 before 10.48 has a pcre2_match out-of-bounds read after a JIT fallback when an attacker can provide invalid UTF data.
已分析 2.openEulerScore 2.9
已分析 3.openEulerVector AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
已分析 4.受影响版本排查 master:不受影响,openEuler-20.03-LTS-SP4:受影响,openEuler-22.03-LTS-SP4:受影响,openEuler-24.03-LTS-Next:受影响,openEuler-24.03-LTS-SP1:受影响,openEuler-24.03-LTS-SP3:受影响,openEuler-24.03-LTS-SP4:受影响
已分析 5.是否涉及abi变化 master:否,openEuler-20.03-LTS-SP4:否,openEuler-22.03-LTS-SP4:否,openEuler-24.03-LTS-Next:否,openEuler-24.03-LTS-SP1:否,openEuler-24.03-LTS-SP3:否,openEuler-24.03-LTS-SP4:否
已分析 6.原因说明 master:不受影响-漏洞代码不存在,openEuler-20.03-LTS-SP4:正常修复,openEuler-22.03-LTS-SP4:正常修复,openEuler-24.03-LTS-Next:正常修复,openEuler-24.03-LTS-SP1:正常修复,openEuler-24.03-LTS-SP3:正常修复,openEuler-24.03-LTS-SP4:正常修复

请确认分析内容的准确性, 确认无误后, 您可以进行后续步骤, 否则您可以继续分析.

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
13 天前 评论:

经过cve-manager解析,部分分支PR未合入,如红色字体所示:

原因说明:
1.master:不受影响-漏洞代码不存在
2.openEuler-20.03-LTS-SP4:正常修复(PR未合入)
3.openEuler-22.03-LTS-SP4:正常修复(PR未合入)
4.openEuler-24.03-LTS-Next:正常修复(PR未合入)
5.openEuler-24.03-LTS-SP1:正常修复(PR未合入)
6.openEuler-24.03-LTS-SP3:正常修复(PR未合入)
7.openEuler-24.03-LTS-SP4:正常修复(PR未合入)

likedislike
openeuler-ci-botopeneuler-ci-bot成员
13 天前 issue状态由 待办的 改变为 进行中
openeuler-ci-botopeneuler-ci-bot成员
12 天前 关联了pull request:[sync] PR-166: fix: CVE-2026-89156 - openEuler-24.03-LTS-SP4
openeuler-ci-botopeneuler-ci-bot成员
12 天前 关联了pull request:[sync] PR-166: fix: CVE-2026-89156 - openEuler-24.03-LTS-SP4
openeuler-ci-botopeneuler-ci-bot成员
12 天前 关联了pull request:[sync] PR-166: fix: CVE-2026-89156 - openEuler-24.03-LTS-SP4
openeuler-ci-botopeneuler-ci-bot成员
12 天前 关联了pull request:[sync] PR-166: fix: CVE-2026-89156 - openEuler-24.03-LTS-SP4
openeuler-ci-botopeneuler-ci-bot成员
12 天前 关闭了 issue
openeuler-ci-bot
openeuler-ci-bot成员
12 天前 评论:

经过cve-manager解析,所有PR均已合入

likedislike
openeuler-ci-botopeneuler-ci-bot成员
12 天前 issue状态由 进行中 改变为 已完成
openeuler-ci-botopeneuler-ci-bot成员
12 天前 删除了label:CVE/UNFIXED
openeuler-ci-botopeneuler-ci-bot成员
12 天前 添加了label:CVE/FIXED