以下的要求不是强制性的, 未按模板评论时对issue无任何影响
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, 缺陷严重等级, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否))不能省略,省略后defect-manager将无法正常解析填写内容.
评论区可能使用到的指令说明:
| 指令 | 指令说明 | 使用权限 |
|---|---|---|
| /check-issue | 触发defect-manager校验 | 不限 |
| /reason xxx | /reason +挂起或取消条件 | 不限 |
影响性分析说明:
缺陷严重等级:(Critical/High/Moderate/Low)
缺陷根因说明:
受影响版本排查(受影响/不受影响):
- openEuler-20.03-LTS-SP4:
- openEuler-22.03-LTS-SP4:
- openEuler-24.03-LTS-SP1:
- openEuler-24.03-LTS-SP3:
- openEuler-24.03-LTS-SP4:
abi变化(是/否):
- openEuler-20.03-LTS-SP4:
- openEuler-22.03-LTS-SP4:
- openEuler-24.03-LTS-SP1:
- openEuler-24.03-LTS-SP3:
- openEuler-24.03-LTS-SP4:
缺陷issue处理具体操作请参考:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/defect-manager-manual.md
pr关联issue具体操作请参考:
https://docs.atomgit.com/docs/help/home/org_project/pullrequests/pr-related-issue


Welcome To openEuler Community
Hey @peulerosci , 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: sig-OS-Builder ,
and any of the maintainers: @han_hui_hui, @overweight, @shenyangyang, @zhangqiumiao, @zhuchunyi ,
and any of the committers: @han_hui_hui .


/branches master,openEuler-24.03-LTS,openEuler-24.03-LTS-Next,openEuler-24.03-LTS-SP1,openEuler-24.03-LTS-SP2,openEuler-24.03-LTS-SP3,openEuler-24.03-LTS-SP4


任务已识别:根据事实清单为 Issue #44 生成 CVE-2026-9149 修复评论。事实清单数据已核对(受影响/0.7.24/补丁干净应用/PR !103,无流水线失败),评论如下:
【任务 #44 · openEuler-24.03-LTS-SP2】CVE-2026-9149
1. 受影响性结论:受影响
CVE-2026-9149 系 libsolv repo_add_solv() 处理含负值 size 的特制 .solv 文件时发生整数溢出,导致内存分配不足与堆越界写(可造成 DoS)。其自有修复补丁经 Step 4 源码影响性分析判为 APPLICABLE(git apply --check succeeded,patch applies cleanly),表明漏洞代码存在于本分支源码中,需要修复。
分支状态:
- openEuler-24.03-LTS-SP2(0.7.24):受影响
2. 修复补丁
已找到上游社区修复补丁:
https://github.com/openSUSE/libsolv/commit/210386037c892a720972ad35a3d8f7073b4d763b.patch
3. 补丁适配情况
无需适配:补丁文件 backport-CVE-2026-9149.patch 对目标分支干净应用(applied_clean,置信度 high),无任何冲突项,核心修复逻辑与上游补丁完全保真;本补丁无前置补丁依赖。
4. PR 提交情况
已提交修复 PR(openEuler-24.03-LTS-SP2):
https://gitcode.com/src-openeuler/libsolv/merge_requests/103
──────── 复制以下内容回填 issue ────────
受影响版本排查(受影响/不受影响):
1.openEuler-24.03-LTS-SP2(0.7.24): 受影响
ABI 变化:否
原因说明:
1.正常修复
────────────────────────────────────────


【任务 #44 · openEuler-24.03-LTS-SP1】CVE-2026-9149
1. 受影响性结论:不受影响
CVE-2026-9149 为 libsolv repo_add_solv() 解析含负 size 值的特制 .solv 文件时,因整数溢出导致的堆缓冲区溢出漏洞。该 CVE 的自有修复补丁经 Step 4 源码影响性分析判为 NOT_APPLICABLE——漏洞代码不存在于本版本源码中,无需修复。
分支状态:
- openEuler-24.03-LTS-SP1(0.7.24):不受影响
2. 修复补丁
已找到上游社区修复补丁:
https://github.com/openSUSE/libsolv/commit/210386037c892a720972ad35a3d8f7073b4d763b.patch
3. 补丁适配情况
无需适配:该补丁经 Step 4 源码影响性分析判为 NOT_APPLICABLE,未产生任何适配项,也无前置补丁依赖。
4. PR 提交情况
未提交 PR:本分支经分析不受影响,无需修复,故未发起修复 PR。
──────── 复制以下内容回填 issue ────────
受影响版本排查(受影响/不受影响):
1.openEuler-24.03-LTS-SP1(0.7.24): 不受影响
ABI 变化:否
原因说明:
1.不受影响-漏洞代码不存在
────────────────────────────────────────


【任务 #44 · openEuler-24.03-LTS】CVE-2026-9149
1. 是否受影响
结论:不受影响。
CVE-2026-9149 的自有补丁经 Step 4 源码影响性分析判为 NOT_APPLICABLE——漏洞代码不存在于本版本源码中,无需修复。各分支状态如下:
- openEuler-24.03-LTS(版本 0.7.24):不受影响(漏洞代码不存在,补丁 NOT_APPLICABLE),无 ABI 变化。
2. 是否有修复补丁
有,上游社区修复补丁:
https://github.com/openSUSE/libsolv/commit/210386037c892a720972ad35a3d8f7073b4d763b.patch
3. 补丁适配情况
无需适配:该补丁经源码影响性分析判为 NOT_APPLICABLE(漏洞代码不存在于本版本源码),未做任何适配改动,亦无前置补丁。
4. 是否提交 PR
本次未提交修复 PR。
──────── 复制以下内容回填 issue ────────
受影响版本排查(受影响/不受影响):
1.openEuler-24.03-LTS(0.7.24): 不受影响
ABI 变化:否
原因说明:
1.不受影响-漏洞代码不存在
────────────────────────────────────────


【任务 #44 · openEuler-24.03-LTS-SP3】CVE-2026-9149
是否受影响: 不受影响
CVE-2026-9149 的自有补丁经 Step 4 源码影响性分析判为 NOT_APPLICABLE,漏洞代码不存在于本版本源码中,无需修复。
- openEuler-24.03-LTS-SP3(0.7.24):不受影响
修复补丁: 已找到上游社区修复补丁:
https://github.com/openSUSE/libsolv/commit/210386037c892a720972ad35a3d8f7073b4d763b.patch
补丁适配情况: 无需适配。该补丁经源码影响性分析对本分支源码 NOT_APPLICABLE,无适配项,亦无前置补丁。
PR 提交情况: 未提交 PR。本分支经分析不受影响,无需修复,故未产生修复 PR。
──────── 复制以下内容回填 issue ────────
受影响版本排查(受影响/不受影响):
1.openEuler-24.03-LTS-SP3(0.7.24): 不受影响
ABI 变化:否
原因说明:
1.不受影响-漏洞代码不存在
────────────────────────────────────────


【任务 #44 · openEuler-24.03-LTS-SP4】CVE-2026-9149
1. 是否受影响
结论:不受影响
CVE-2026-9149 的自有补丁经 Step 4 源码影响性分析判为 NOT_APPLICABLE,漏洞代码不存在于本版本源码中,无需修复。
分支状态:
- openEuler-24.03-LTS-SP4(0.7.24):不受影响(漏洞代码不存在,补丁 NOT_APPLICABLE)
2. 是否有修复补丁
上游社区修复补丁:
https://github.com/openSUSE/libsolv/commit/210386037c892a720972ad35a3d8f7073b4d763b.patch
3. 补丁适配情况
无需适配:该补丁经源码影响性分析判为 NOT_APPLICABLE,漏洞代码在 openEuler-24.03-LTS-SP4(0.7.24)源码中不存在,未执行任何补丁适配操作。
4. 是否提交 PR
无 PR:本分支不受影响,无需修复,因此未提交修复 PR。
──────── 复制以下内容回填 issue ────────
受影响版本排查(受影响/不受影响):
1.openEuler-24.03-LTS-SP4(0.7.24): 不受影响
ABI 变化:否
原因说明:
1.不受影响-漏洞代码不存在
────────────────────────────────────────


【任务 #44 · openEuler-24.03-LTS-Next】CVE-2026-9149
1. 是否受影响
结论:不受影响。
CVE-2026-9149 为 libsolv 在 repo_add_solv() 处理含负 size 值的恶意 .solv 文件时可触发的堆缓冲区溢出漏洞。其自有补丁经 Step 4 源码影响性分析判为 NOT_APPLICABLE:漏洞代码不存在于本版本源码——补丁所含的负值与整数溢出检查代码已存在于源码中,漏洞触发路径不存在,无需修复。
分支状态:
- openEuler-24.03-LTS-Next(libsolv 0.7.24):不受影响(漏洞代码不存在,补丁 NOT_APPLICABLE),无 ABI 变化。
2. 是否有修复补丁
上游社区修复补丁:
https://github.com/openSUSE/libsolv/commit/210386037c892a720972ad35a3d8f7073b4d763b.patch
3. 补丁适配情况
无需适配:补丁对本分支源码判定为 NOT_APPLICABLE(漏洞代码不存在),无任何适配项,也无前置补丁。
4. 是否提交 PR
未提交 PR:本分支不受影响,无需修复动作。
──────── 复制以下内容回填 issue ────────
受影响版本排查(受影响/不受影响):
1.openEuler-24.03-LTS-Next(0.7.24): 不受影响
ABI 变化:否
原因说明:
1.不受影响-漏洞代码不存在
────────────────────────────────────────


【任务 #44 · master】CVE-2026-9149
1. 是否受影响
结论:不受影响。
CVE-2026-9149 的自有补丁经 Step 4 源码影响性分析判为 NOT_APPLICABLE:漏洞代码不存在于本版本源码,无需修复。
分支状态:
- master(0.7.39):不受影响 —— 漏洞代码不存在(补丁 NOT_APPLICABLE)
2. 是否有修复补丁
已找到上游社区修复补丁:
https://github.com/openSUSE/libsolv/commit/210386037c892a720972ad35a3d8f7073b4d763b.patch
3. 补丁适配情况
无适配。该补丁经源码影响性分析判为 NOT_APPLICABLE,漏洞代码在本版本(0.7.39)源码中不存在,补丁无需应用,因此未进行任何适配。
4. 是否提交 PR
无 PR。master 分支不受影响、无需修复,故未提交修复 PR。
──────── 复制以下内容回填 issue ────────
受影响版本排查(受影响/不受影响):
1.master(0.7.39): 不受影响
ABI 变化:否
原因说明:
1.不受影响-漏洞代码不存在
────────────────────────────────────────


/branches master,openEuler-24.03-LTS,openEuler-24.03-LTS-Next,openEuler-24.03-LTS-SP1,openEuler-24.03-LTS-SP2,openEuler-24.03-LTS-SP3,openEuler-24.03-LTS-SP4 /patch_url https://github.com/openSUSE/libsolv/commit/107f91c5d2d9af668c6267cd89c581a9dfc9d540,
https://github.com/openSUSE/libsolv/commit/40d41ab1985cf8693b443314337231156210bf9a,
https://github.com/openSUSE/libsolv/commit/7439b0dc89d4c8cf669d6fb06cdb02a3919bbe8a,
https://github.com/openSUSE/libsolv/commit/f569b91be3c3d11407aab9a29f719c53c0e13cb2,


/branches master,openEuler-24.03-LTS,openEuler-24.03-LTS-Next,openEuler-24.03-LTS-SP1,openEuler-24.03-LTS-SP2,openEuler-24.03-LTS-SP3,openEuler-24.03-LTS-SP4 /patch_url https://github.com/openSUSE/libsolv/commit/107f91c5d2d9af668c6267cd89c581a9dfc9d540,https://github.com/openSUSE/libsolv/commit/40d41ab1985cf8693b443314337231156210bf9a,https://github.com/openSUSE/libsolv/commit/7439b0dc89d4c8cf669d6fb06cdb02a3919bbe8a,https://github.com/openSUSE/libsolv/commit/f569b91be3c3d11407aab9a29f719c53c0e13cb2


/branches openEuler-24.03-LTS-SP4 /patch_url https://github.com/openSUSE/libsolv/commit/107f91c5d2d9af668c6267cd89c581a9dfc9d540,https://github.com/openSUSE/libsolv/commit/40d41ab1985cf8693b443314337231156210bf9a,https://github.com/openSUSE/libsolv/commit/7439b0dc89d4c8cf669d6fb06cdb02a3919bbe8a,https://github.com/openSUSE/libsolv/commit/f569b91be3c3d11407aab9a29f719c53c0e13cb2


已提交 MR !108 回合本 issue 中 libsolv 部分的 4 项 bug 修复(solv_chksum_free 空指针解引用、allochashtable 边界逻辑、xmlparser 超长内容截断、languages 数量限制)到 openEuler-24.03-LTS-SP3。其余项:三个 CVE 各分支已修复;negative keyname 在 0.7.24 不存在不适用;glib2/libdnf 部分见姊妹 issue #111(glib2 七补丁已由 !376-!381 认领)。


优先级:
次要详细描述:
原因分析:
【是否新引入rpm包,是否进行了安全编译选项扫描】
否
【定位分析】
libsolv
Fix-logic-error-in-allochashtable
修复的问题:allochashtable 函数中,用于检测 mask 是否导致整数溢出的条件判断有误,错误地使用了 &&,导致溢出检查可能失效。另一处 repo_addid_dep_hash 函数中,哈希表大小的判断条件也存在边界错误。可能导致溢出。
修改内容:增加条件检查,将 allochashtable 中的 if 。
solv_xmlparser-truncate-oversized-element-content
修复的问题:solv_xmlparser 在解析 XML 时,未对过大的元素内容进行处理,可能导致内存分配失败或拒绝服务。
修改内容:增加条件判断,在 character_data 函数中,若累积的内容长度 xmlp->lcontent 加上新数据长度 len 超过 0x40000000U,则直接忽略新数据,避免继续分配内存。在 solv_xmlparser_contentspace 函数中,若请求的内容长度 l 超过 0x40000000U,则调用 solv_oom 报错退出。
Cope-with-integer-overflow-in-data-size-arithmetics-in-repo_add_solv
CVE-2026-9149已修复
Also-check-for-negative-keyname-values-when-storing-a-new-key
问题代码不存在,不涉及
Fix-NULL-pointer-dereference-in-solv_chksum_free
修复的问题:在重构校验和实现后,solv_chksum_free 函数在传入的 chk 指针为 NULL 时,会错误地进入 else if 分支并解引用空指针,导致程序崩溃。
修改内容:在函数开头增加了 if return 0; 的空指针检查,确保了 chk 为 NULL 时函数能安全返回。
Limit-the-allowed-number-of-languages
修复的问题:pool_set_languages 函数未对传入的语言数量 nlanguages 进行上限检查,可能导致后续分配内存时发生整数溢出。同时,solvable_lookup_str_poollang 函数中为 languagecache 分配内存时,参数顺序错误,可能导致分配的内存大小不正确。
修改内容:在 pool_set_languages 中增加了检查:若 nlanguages < 0 || nlanguages >= 1024,则调用 solv_ovfl 报错退出。修正了 solvable_lookup_str_poollang 中 solv_calloc 的参数顺序,从 solv_calloc。
glib2
gdesktopappinfo-Fix-leaks-in-g_desktop_app_info_launch_uris_with_spawn
修复的问题:g_desktop_app_info_launch_uris_with_spawn 函数在参数数组中出现 NULL 条目并提前退出循环时,会导致参数字符串泄漏。
修改内容:在 gdesktopappinfo.c 中,将可能被窃取并导致泄漏的 argv[0] 改为使用 g_strdup 复制。在替换 argv[0] 前,显式释放原有的字符串。
glocalfileinfo-Fix-symlink-call-so-setting-symlinks-via-GFileInfo-works
修复的问题:glocalfileinfo.c 中调用 symlink 系统调用时,参数顺序颠倒,导致无法通过 GFileInfo 正确设置软链接的目标。
修改内容:在 glocalfileinfo.c 中,将错误的 symlink 。
giochannel-Fix-memcmp-off-the-end-of-the-buffer-with-long-terminators
CVE-2026-58013已修复
gmarkup-Fix-potential-one-byte-overread-in-g_markup_escape_text
修复的问题:g_markup_escape_text 函数在处理以 UTF-8 前缀字节(如 0xc 结尾的恶意字符串时,未检查后续字节是否存在,可能导致越界读取。
修改内容:将 g_utf8_get_char 替换为 g_utf8_get_char_validated,后者会检查剩余长度,避免读取越界。
gvariant-Check-for-overflow-in-g_variant_new_fixed_array
修复的问题:g_variant_new_fixed_array 在计算总大小时,使用 n_elements * element_size,当结果超过 gsize 上限时会静默溢出,可能导致后续内存分配失败并调用 g_error 终止进程。
修改内容:在计算前增加检查:g_return_val_if_fail 。使用变量 total_size 存储检查后的乘积结果。将 g_memdup2 和 g_variant_new_from_data 中的乘法替换为 total_size。
gdbusmessage-Fix-types-of-integer-arithmetic-in-message-length-calculation
修复的问题:g_dbus_message_bytes_needed 在计算 D-Bus 消息大小时,使用了 uint32_t 类型进行加法运算,可能因溢出而绕过后续的长度检查。
修改内容:将原本直接使用 uint32_t 运算并赋值给 gssize 的方式,改为先分别提取 header_len 和 body_len。重写了长度计算逻辑,使用 size_t 类型和安全算术,避免溢出。
gsettings-tool-Fix-leaks-when-running-set-commands
修复的问题:gsettings set 命令在执行时存在内存泄漏:设置有效值时会泄漏 GVariant 对象,设置无效值时会泄漏错误信息字符串。
修改内容:移除了未使用的 freeme 变量。为通过 g_variant_new_string 创建的 GVariant 增加 g_variant_ref_sink 调用。在退出前,显式释放错误信息上下文 context。在键不可写时,增加 g_variant_unref 释放 GVariant。
gsettings-tool-Fix-leaks-when-specifying-invalid-schemas
修复的问题:当 gsettings 命令,导致了内存泄漏。
修改内容:在所有因 schema 无效或路径检查失败而退出的路径中,在 return 1 之前,都增加调用 g_strfreev,确保 parts 数组被正确释放。
gio-gmemorymonitorpsi-Check-for-NULL-before-freeing-trigger
问题代码不存在,不涉及
gdbusauth-Limit-length-of-lines-read-from-client
CVE-2026-15588已修复
libdnf
Fix-temp-file-cleanup-in-write_ext
修复的问题:在 write_ext 执行成功,但后续其他操作失败,程序会直接跳转到 done 标签并退出,此时 ret 为 0,临时文件就不会被删除,从而导致泄漏。
修改内容:将清理条件从检查 ret 改为检查整体的 success 状态标志。只要整个 write_ext 来删除临时文件,确保了在所有错误路径下临时文件都能被正确清理。
否
【是否修改引入】
二、缺陷分析结构反馈
影响性分析说明:
缺陷严重等级:(Critical/High/Moderate/Low)
缺陷根因说明:
受影响版本排查(受影响/不受影响):
openEuler-20.03-LTS-SP4
openEuler-22.03-LTS-SP4
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS-SP3
openEuler-24.03-LTS-SP4
修复是否涉及abi变化(是/否):
openEuler-20.03-LTS-SP4
openEuler-22.03-LTS-SP4
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS-SP3
openEuler-24.03-LTS-SP4