已合并
update to version 2.54.1, drop upstreamed CVE patches #182
Funda Wang创建于 9月17日
update to version 2.54.1, drop upstreamed CVE patches #182
已合并
Funda Wang创建于 9月17日
从已删除 :master合入到src-openeuler/webkitgtkmaster
Funda Wang
Funda Wang
9月17日

当前PR是否有AI参与:

[ ] 否

[x] Yes
__1. AI Agent 平台: AtomCode
__2. AI 模型 : glm5.3-flash
__3. Prompt 上下文 : 用户要求将 webkitgtk 升级到 2.54.1 并同步修改仓库中 webkitgtk.spec 与 webkitgtk6_0.spec 两个 spec;AI 完成上游版本确认、补丁适用性核查(CVE 补丁已上游化)、两个 spec 同步更新、分配器配置修复、riscv64 JIT/WebAssembly 关闭与三项 riscv64 构建修复补丁、tarball 替换与 MR 提交

参考:openEuler社区《生成式AI工具使用与开源贡献政策》

PR功能描述 / 为什么需要这个合入**:

将 webkitgtk / webkitgtk6.0 从 2.52.6 同步升级到 2.54.1(webkitgtk.org 官方发布),并删除已被上游合入的两个 CVE backport 补丁。两个 spec(webkitgtk.spec、webkitgtk6_0.spec)已同步修改。

差异分析报告

差异分析报告 版本变更原因 变更后版本
版本升级 同步上游 2.54.1 稳定版本 2.54.1
差异分类 差异项 差异说明 影响评估与适配方案
特性变化 新增特性 WebKitWebView 新增 magnification 属性(视觉缩放);GTK3 下 SHM/GBM 映射缓冲区 y-flip 修复;合成 tile 采样考虑 layer transform 纯增量与缺陷修复,ABI 兼容(2.54 为 2.53 dev 系列后的稳定版)
特性变化 删除特性 NA NA
特性变化 变更特性实现 CVE-2026-78376(JSC APICallbackFunction 越界)与 CVE-2026-83596(OpenTypeVerticalData 越界)修复已随上游合入 2.54.1(前者重构为 Integrity::audit + 受保护 Vector 方案,后者 isValidEnd 边界校验已广泛存在),本地 backport 补丁删除;favicon 过期时间/tls_info 修复;skia compositor 视频方向处理;加速合成下不在主线程渲染 tile 缺陷修复,无接口破坏;两个 CVE 补丁文件一并删除
配置文件 新增/变更/删除配置项 riscv64 配置调整:保留 -DENABLE_JIT=OFF,新增 -DENABLE_WEBASSEMBLY=OFF(上游在 PlatformEnable.h 强制 ENABLE_WEBASSEMBLY=1 击穿该开关,需 Patch1003 一并去除),删除 -DUSE_SYSTEM_MALLOC=ON(riscv64 改走上游默认 mimalloc);两个 spec 的架构开关块写法对齐(loongarch64 / riscv64 各自独立 %ifarch);新增 Patch1002/1003/1004 三个 riscv64 构建修复补丁 构建修复;分配器为各架构上游约束下的最优组合(aarch64 64KB 页与 riscv64 无 libpas 支持)
ABI差异 新增 API webkit_web_view magnification 属性及读写接口 增量符号,ABI 兼容
ABI差异 变更/删除 API NA NA
命令行/功能 新增/变更/删除命令及选项 NA(库软件包;WEBDRIVER 保持 4.1 提供、6.0 关闭的上游并行安装设计不变) NA
SPEC文件 编译依赖/安装依赖/依赖软件版本变更 编译器由 clang 改为 llvm-toolset-21(-clang/-lld),构建时 export PATH 指向 llvm-toolset-21、LDFLAGS 追加 -fuse-ld=lld、optflags 去除 -fgcc-compatible;新增 pkgconfig(gstreamer-mpegts-1.0)(2.54.0 起视频功能所需);其余上游 OptionsGTK.cmake 依赖要求与 2.52 系一致(glib 2.70/soup3 3.0/harfbuzz 2.7.4/ICU 70.1 等);Skia 为内置源码构建,mimalloc 为内嵌源码静态链入,均无需额外依赖 依赖新增均为构建必需
SPEC文件 拆分软件包方式变更 NA NA

该PR关联的issue

CVE-2024-1283
CVE-2024-43091
CVE-2024-43097
CVE-2024-43767
CVE-2024-43768
CVE-2024-7966
CVE-2024-8193
CVE-2024-8198
CVE-2024-8636
CVE-2024-9123
CVE-2025-0436
CVE-2025-0444
CVE-2025-10502
CVE-2025-26416
CVE-2025-32318
CVE-2025-48622
CVE-2025-54627
CVE-2025-8901
CVE-2025-9478
CVE-2026-0908
CVE-2026-10009
CVE-2026-10011
CVE-2026-10012
CVE-2026-10018
CVE-2026-10019
CVE-2026-10881
CVE-2026-10883
CVE-2026-10889
CVE-2026-10907
CVE-2026-10919
CVE-2026-10941
CVE-2026-10974
CVE-2026-10977
CVE-2026-10979
CVE-2026-10985
CVE-2026-10993
CVE-2026-10994
CVE-2026-11004
CVE-2026-11024
CVE-2026-11039
CVE-2026-11040
CVE-2026-11051
CVE-2026-11057
CVE-2026-11061
CVE-2026-11065
CVE-2026-11066
CVE-2026-11087
CVE-2026-11088
CVE-2026-11090
CVE-2026-11104
CVE-2026-11109
CVE-2026-11110
CVE-2026-11111
CVE-2026-11113
CVE-2026-11121
CVE-2026-11123
CVE-2026-11124
CVE-2026-11137
CVE-2026-11138
CVE-2026-11159
CVE-2026-11191
CVE-2026-11663
CVE-2026-11675
CVE-2026-13780
CVE-2026-13781
CVE-2026-13834
CVE-2026-13841
CVE-2026-13859
CVE-2026-13877
CVE-2026-13883
CVE-2026-13971
CVE-2026-14044
CVE-2026-14125
CVE-2026-14152
CVE-2026-14382
CVE-2026-14386
CVE-2026-14387
CVE-2026-14388
CVE-2026-14389
CVE-2026-14390
CVE-2026-14396
CVE-2026-14398
CVE-2026-14400
CVE-2026-14410
CVE-2026-14411
CVE-2026-14412
CVE-2026-14413
CVE-2026-14414
CVE-2026-14418
CVE-2026-14419
CVE-2026-14425
CVE-2026-14427
CVE-2026-14429
CVE-2026-15109
CVE-2026-15766
CVE-2026-15774
CVE-2026-16413
CVE-2026-16417
CVE-2026-17653
CVE-2026-17655
CVE-2026-17667
CVE-2026-17668
CVE-2026-17671
CVE-2026-17675
CVE-2026-17678
CVE-2026-17682
CVE-2026-17683
CVE-2026-17687
CVE-2026-17689
CVE-2026-17697
CVE-2026-17702
CVE-2026-17704
CVE-2026-17714
CVE-2026-17717
CVE-2026-17718
CVE-2026-17721
CVE-2026-17740
CVE-2026-17745
CVE-2026-17750
CVE-2026-17757
CVE-2026-17771
CVE-2026-17785
CVE-2026-17801
CVE-2026-17832
CVE-2026-17847
CVE-2026-17914
CVE-2026-19160
CVE-2026-19161
CVE-2026-19173
CVE-2026-19176
CVE-2026-3536
CVE-2026-3538
CVE-2026-3909
CVE-2026-3931
CVE-2026-43670
CVE-2026-4448
CVE-2026-4460
CVE-2026-4464
CVE-2026-5283
CVE-2026-5870
CVE-2026-6296
CVE-2026-6298
CVE-2026-6364
CVE-2026-64715
CVE-2026-64753
CVE-2026-64778
CVE-2026-64779
CVE-2026-64780
CVE-2026-64781
CVE-2026-64782
CVE-2026-64784
CVE-2026-65331
CVE-2026-65332
CVE-2026-65333
CVE-2026-65334
CVE-2026-65336
CVE-2026-65337
CVE-2026-65338
CVE-2026-65340
CVE-2026-65341
CVE-2026-65351
CVE-2026-7353
CVE-2026-7354
CVE-2026-7359
CVE-2026-76041
CVE-2026-78904
CVE-2026-78905
CVE-2026-78906
CVE-2026-78914
CVE-2026-78958
CVE-2026-78965
CVE-2026-7900
CVE-2026-79020
CVE-2026-79043
CVE-2026-79112
CVE-2026-79118
CVE-2026-79120
CVE-2026-79127
CVE-2026-79130
CVE-2026-79131
CVE-2026-79144
CVE-2026-79147
CVE-2026-79149
CVE-2026-79188
CVE-2026-79189
CVE-2026-7920
CVE-2026-79229
CVE-2026-7923
CVE-2026-79269
CVE-2026-79270
CVE-2026-79275
CVE-2026-7942
CVE-2026-7943
CVE-2026-7949
CVE-2026-84635
CVE-2026-8579
CVE-2026-86898
CVE-2026-9877
CVE-2026-9878
CVE-2026-9879
CVE-2026-9882
CVE-2026-9893
CVE-2026-9899
CVE-2026-9900
CVE-2026-9901
CVE-2026-9904
CVE-2026-9908
CVE-2026-9909
CVE-2026-9910
CVE-2026-9911
CVE-2026-9913
CVE-2026-9914
CVE-2026-9915
CVE-2026-9916
CVE-2026-9923
CVE-2026-9925
CVE-2026-9926
CVE-2026-9927
CVE-2026-9935
CVE-2026-9940
CVE-2026-9941
CVE-2026-9942
CVE-2026-9944
CVE-2026-9946
CVE-2026-9953
CVE-2026-9965
CVE-2026-9969
CVE-2026-9975
CVE-2026-9981
CVE-2026-9982
CVE-2026-9983
CVE-2026-9998

希望检视人员了解:

  • 仓库中 webkitgtk.spec 与 webkitgtk6_0.spec 两个 spec 已同步修改(版本 2.54.1、Release 重置 1、删除 Patch6000/Patch6001、新增 Patch1002–Patch1004 三个 riscv64 修复补丁、changelog 各加一条);
  • backport-CVE-2026-78376.patch 与 backport-CVE-2026-83596.patch 已被上游合入 2.54.1(已在 tarball 源码中逐项核实),本 PR 一并删除;webkitgtk-add-loongarch-and-sw.patch 与 drop-Wunsafe-buffer-usage.patch 经验证仍可应用,保留;
  • 分配器(allocator)配置调整的原因:WebKit 的 CMake 选项互不联动,显式 -DUSE_SYSTEM_MALLOC=ON 不会自动关闭 USE_MIMALLOC;2.54 起上游将 USE_64KB_PAGE_BLOCK(aarch64)与 RISCV64 场景的 USE_MIMALLOC_DEFAULT 改为 ON,与 spec 原有的 USE_SYSTEM_MALLOC=ON 双开,命中 BPlatform.h 的 #error "libpas, mimalloc, and system malloc are exclusive"(2026-09-22 aarch64 门禁失败根因);修复为删除 USE_SYSTEM_MALLOC=ON:aarch64 因 openEuler aarch64 内核 64KB 页(2.28 时代起的发行版级决策,libpas 不支持 64KB 页)与 riscv64(libpas 不支持该架构)走上游默认 mimalloc,loongarch64 保持 system malloc 不受影响;同时 %install 后 rm 清理内嵌 mimalloc 的头文件/cmake/pc/object 安装残留——内嵌 mimalloc 以 object library 静态链入 libbmalloc,但其 install() 规则无条件执行,残留文件导致 "Installed (but unpackaged) file(s) found" 失败(2026-09-20 门禁失败根因);
  • JIT/WebAssembly 三架构配置(两个 spec 的架构开关块写法已对齐为 loongarch64 / riscv64 各自独立 %ifarch):aarch64 随 USE_64KB_PAGE_BLOCK 而关(上游为 64KB 页场景将 ENABLE_JIT_DEFAULT 设为 OFF,JIT 页大小假设与 64KB 页冲突);riscv64 最终保留 -DENABLE_JIT=OFF(上游 2.54 已将 RISCV64 的 JIT 默认改为 ON,但上游同时在 PlatformEnable.h 强制 ENABLE_WEBASSEMBLY=1,而 Wasm 的 IPInt 解释器无 riscv64 后端,LLInt offlineasm 在生成 LLIntDesiredOffsets.h 时报 "Could not find macro nextIPIntInstruction"——仅关 JIT 不够,还须 -DENABLE_WEBASSEMBLY=OFF 并打 Patch1003 去除该强制覆盖才能生效;待上游 WebKit PR 65621 落地后可实测恢复);loongarch64 上游无专属分支、落兜底配置(JIT OFF + C_LOOP),显式写出仅为固化上游默认;
  • 三个 riscv64 构建修复补丁:Patch1002 禁用内嵌 simde 的原生 RVV 后端(clang 对 -march=rva23u64 定义 __riscv_v 但不定义 __riscv_zve64d,simde 误启 RVV 却缺固定宽度 typedef,LP: #2121516);Patch1003 去除 PlatformEnable.h 对 riscv64 强制 ENABLE_WEBASSEMBLY=1 的覆盖(见上条);Patch1004 将 MacroAssemblerRISCV64.h / RISCV64Assembler.h / RISCV64Registers.h 补入 JavaScriptCore_PRIVATE_FRAMEWORK_HEADERS,否则 WebCore 预编译头报 'MacroAssemblerRISCV64.h' file not found(仅 riscv64 构建走到该 include 分支,上游因此未察觉);
  • 工具链与依赖调整:编译器由 clang 改为 llvm-toolset-21(-clang/-lld),%build 中 export PATH 指向 llvm-toolset-21、LDFLAGS 追加 -fuse-ld=lld、optflags 去除 -fgcc-compatible;新增 gstreamer-mpegts-1.0 构建依赖(2.54.0 起视频功能所需);
  • WEBDRIVER 保持 4.1 开、6.0 关,不作对齐:上游 OptionsGTK.cmake 注明 WebKitWebDriver 在 GTK3/GTK4 口味间不并行可安装(同一路径、同一服务进程),只能由一方提供;现有分工为 webkitgtk(4.1) 提供、webkitgtk6.0(6.0) 以 -DENABLE_WEBDRIVER=OFF 让位,符合上游设计;
  • 本机无 rpmbuild,构建验证依赖门禁 CI(两个 spec 的 %prep 补丁应用阶段已通过本地 rpmbuild -bp --nodeps 验证)。
likedislike
Pull Request已成功合入, 合并人@openeuler-ci-bot
(感谢 Funda Wang 的贡献)
Funda WangFunda Wang
9月17日 创建了 pull request,commit 0f65e836
openeuler-ci-botopeneuler-ci-bot成员
9月17日 将lipingEmmaSiguyi,small_leek,weidongkl,openbot,t_feng,lw520203,dou33,starlet-dx,cherry530,technology208,yanan-rock,dwl301,wangxp006,lostway1,robert-xingwang设为审查人
openeuler-ci-botopeneuler-ci-bot成员
9月17日 添加了label:sig/Desktop
openeuler-ci-bot
openeuler-ci-bot成员
9月17日 评论:

Welcome To openEuler Community

Hey @fundawang , 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: Desktop ,
and any of the maintainers: @cherry530, @dou33, @dwl301, @lipingEmmaSiguyi, @lostway1, @lw520203, @openbot, @robert-xingwang, @small_leek, @starlet-dx, @t_feng, @technology208, @wangxp006, @weidongkl, @yanan-rock ,
and any of the committers: @t_feng, @wangxp006, @yanan-rock .

likedislike
openeuler-ci-botopeneuler-ci-bot成员
9月17日 添加了label:ai-co-authored
此处折叠了422条消息 查看更多
openeuler-ci-bot
openeuler-ci-bot成员
7 天前 评论:

In response to this:

/sync openEuler-26.09

@fundawang

同步操作执行结果:

Branch Status Pull Request
openEuler-26.09 创建同步 PR https://gitcode.com/src-openeuler/webkitgtk/merge_requests/327
likedislike
ultra_planet
7 天前 评论:

@fundawang
CVE-2025-6558仍被错误关联,替换成CVE-2026-64782

likedislike
Funda WangFunda Wang
6 天前 修改了pull request 的描述
Funda Wang
Funda Wang
6 天前 评论:

/sync openEuler-26.09

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

In response to this:

/sync openEuler-26.09

@fundawang

同步操作执行结果:

Branch Status Pull Request
openEuler-26.09 创建同步 PR https://gitcode.com/src-openeuler/webkitgtk/merge_requests/328
likedislike