已关闭
CVE-2022-50647 #11396
openeuler-ci-bot创建于  2025年12月9日关闭于  1月21日
openeuler-ci-bot
openeuler-ci-bot成员
2025年12月9日 创建

一、漏洞信息
漏洞编号:CVE-2022-50647
漏洞归属组件:kernel
漏洞归属的版本:4.19.140,4.19.194,4.19.90,5.10.0,6.1.19,6.4.0,6.6.0
CVSS评分:
BaseScore:N/A None
Vector:
漏洞简述:
In the Linux kernel, the following vulnerability has been resolved:RISC-V: Make port I/O string accessors actually workFix port I/O string accessors such as insb , outsb , etc. which usethe physical PCI port I/O address rather than the corresponding memorymapping to get at the requested location, which in turn breaks at leastaccesses made by our parport driver to a PCIe parallel port such as:PCI parallel port detected: 1415:c118, I/O at 0x1000(0x1008), IRQ 20parport0: PC-style at 0x1000 (0x1008), irq 20, using FIFO [PCSPP,TRISTATE,COMPAT,EPP,ECP]causing a memory access fault:Unable to handle kernel access to user memory without uaccess routines at virtual address 0000000000001008Oops [#1]Modules linked in:CPU: 1 PID: 350 Comm: cat Not tainted 6.0.0-rc2-00283-g10d4879f9ef0-dirty #23Hardware name: SiFive HiFive Unmatched A00 (DT)epc : parport_pc_fifo_write_block_pio+0x266/0x416 ra : parport_pc_fifo_write_block_pio+0xb4/0x416epc : ffffffff80542c3e ra : ffffffff80542a8c sp : ffffffd88899fc60 gp : ffffffff80fa2700 tp : ffffffd882b1e900 t0 : ffffffd883d0b000 t1 : ffffffffff000002 t2 : 4646393043330a38 s0 : ffffffd88899fcf0 s1 : 0000000000001000 a0 : 0000000000000010 a1 : 0000000000000000 a2 : ffffffd883d0a010 a3 : 0000000000000023 a4 : 00000000ffff8fbb a5 : ffffffd883d0a001 a6 : 0000000100000000 a7 : ffffffc800000000 s2 : ffffffffff000002 s3 : ffffffff80d28880 s4 : ffffffff80fa1f50 s5 : 0000000000001008 s6 : 0000000000000008 s7 : ffffffd883d0a000 s8 : 0004000000000000 s9 : ffffffff80dc1d80 s10: ffffffd8807e4000 s11: 0000000000000000 t3 : 00000000000000ff t4 : 393044410a303930 t5 : 0000000000001000 t6 : 0000000000040000status: 0000000200000120 badaddr: 0000000000001008 cause: 000000000000000f[] parport_pc_compat_write_block_pio+0xfe/0x200[] parport_write+0x46/0xf8[] lp_write+0x158/0x2d2[] vfs_write+0x8e/0x2c2[] ksys_write+0x52/0xc2[] sys_write+0xe/0x16[] ret_from_syscall+0x0/0x2---[ end trace 0000000000000000 ]---For simplicity address the problem by adding PCI_IOBASE to the physicaladdress requested in the respective wrapper macros only, observing thatthe raw accessors such as __insb , __outsb , etc. are not supposed tobe used other than by said macros. Remove the cast to long that is nolonger needed on addr now that it is used as an offset from PCI_IOBASEand add parentheses around `addr needed for predictable evaluation inmacro expansion. No need to make said adjustments in separate changesgiven that current code is gravely broken and does not ever work.
漏洞公开时间:2025-12-09 09:16:47
漏洞创建时间:2025-12-09 08:47:46
漏洞详情参考链接:
https://nvd.nist.gov/vuln/detail/CVE-2022-50647

更多参考(点击展开)
参考来源 参考链接 来源链接
https://nvd.nist.gov/vuln/detail/CVE-2022-50647
https://git.kernel.org/stable/c/140b2b92dbefffa7f4f7211a1fd399a6e79e71c4
https://git.kernel.org/stable/c/1acee4616930fc07265cb8e539753a8062daa8e0
https://git.kernel.org/stable/c/dc235db7b79a352d07d62e8757ad856dbf1564c1
https://bugzilla.redhat.com/show_bug.cgi?id=2420265
https://git.kernel.org/stable/c/9cc205e3c17d5716da7ebb7fa0c985555e95d009
https://lore.kernel.org/linux-cve-announce/2025120937-CVE-2022-50647-cb33@gregkh/T/#u
https://lore.kernel.org/linux-cve-announce/2025120937-CVE-2022-50647-cb33@gregkh/T
https://git.kernel.org/stable/c/2ce9fab94b8db61f014e43ddf80dd1524ae6dff4
https://www.cve.org/CVERecord?id=CVE-2022-50647
https://git.kernel.org/stable/c/2c60db6869fe5213471fcf4fe5704dc29da8b5ee

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

详情(点击展开)
影响的包 修复版本 修复补丁 问题引入补丁 来源
gregkh/linux https://git.kernel.org/stable/c/2c60db6869fe5213471fcf4fe5704dc29da8b5ee ljqc
gregkh/linux https://git.kernel.org/stable/c/2ce9fab94b8db61f014e43ddf80dd1524ae6dff4 ljqc
gregkh/linux https://git.kernel.org/stable/c/dc235db7b79a352d07d62e8757ad856dbf1564c1 ljqc
gregkh/linux https://git.kernel.org/stable/c/140b2b92dbefffa7f4f7211a1fd399a6e79e71c4 ljqc
gregkh/linux https://git.kernel.org/stable/c/1acee4616930fc07265cb8e539753a8062daa8e0 ljqc
gregkh/linux https://git.kernel.org/stable/c/9cc205e3c17d5716da7ebb7fa0c985555e95d009 ljqc
https://git.kernel.org/stable/c/140b2b92dbefffa7f4f7211a1fd399a6e79e71c4 cvelistv5
https://git.kernel.org/stable/c/1acee4616930fc07265cb8e539753a8062daa8e0 cvelistv5
https://git.kernel.org/stable/c/dc235db7b79a352d07d62e8757ad856dbf1564c1 cvelistv5
https://git.kernel.org/stable/c/9cc205e3c17d5716da7ebb7fa0c985555e95d009 cvelistv5
https://git.kernel.org/stable/c/2ce9fab94b8db61f014e43ddf80dd1524ae6dff4 cvelistv5
https://git.kernel.org/stable/c/2c60db6869fe5213471fcf4fe5704dc29da8b5ee cvelistv5

二、漏洞分析结构反馈
影响性分析说明:
In the Linux kernel, the following vulnerability has been resolved:RISC-V: Make port I/O string accessors actually workFix port I/O string accessors such as insb&#39;, outsb', etc. which usethe physical PCI port I/O address rather than the corresponding memorymapping to get at the requested location, which in turn breaks at leastaccesses made by our parport driver to a PCIe parallel port such as:PCI parallel port detected: 1415:c118, I/O at 0x1000(0x1008), IRQ 20parport0: PC-style at 0x1000 (0x1008), irq 20, using FIFO [PCSPP,TRISTATE,COMPAT,EPP,ECP]causing a memory access fault:Unable to handle kernel access to user memory without uaccess routines at virtual address 0000000000001008Oops [#1]Modules linked in:CPU: 1 PID: 350 Comm: cat Not tainted 6.0.0-rc2-00283-g10d4879f9ef0-dirty #23Hardware name: SiFive HiFive Unmatched A00 (DT)epc : parport_pc_fifo_write_block_pio+0x266/0x416 ra : parport_pc_fifo_write_block_pio+0xb4/0x416epc : ffffffff80542c3e ra : ffffffff80542a8c sp : ffffffd88899fc60 gp : ffffffff80fa2700 tp : ffffffd882b1e900 t0 : ffffffd883d0b000 t1 : ffffffffff000002 t2 : 4646393043330a38 s0 : ffffffd88899fcf0 s1 : 0000000000001000 a0 : 0000000000000010 a1 : 0000000000000000 a2 : ffffffd883d0a010 a3 : 0000000000000023 a4 : 00000000ffff8fbb a5 : ffffffd883d0a001 a6 : 0000000100000000 a7 : ffffffc800000000 s2 : ffffffffff000002 s3 : ffffffff80d28880 s4 : ffffffff80fa1f50 s5 : 0000000000001008 s6 : 0000000000000008 s7 : ffffffd883d0a000 s8 : 0004000000000000 s9 : ffffffff80dc1d80 s10: ffffffd8807e4000 s11: 0000000000000000 t3 : 00000000000000ff t4 : 393044410a303930 t5 : 0000000000001000 t6 : 0000000000040000status: 0000000200000120 badaddr: 0000000000001008 cause: 000000000000000f[<ffffffff80543212>] parport_pc_compat_write_block_pio+0xfe/0x200[<ffffffff8053bbc0>] parport_write+0x46/0xf8[<ffffffff8050530e>] lp_write+0x158/0x2d2[<ffffffff80185716>] vfs_write+0x8e/0x2c2[<ffffffff80185a74>] ksys_write+0x52/0xc2[<ffffffff80185af2>] sys_write+0xe/0x16[<ffffffff80003770>] ret_from_syscall+0x0/0x2---[ end trace 0000000000000000 ]---For simplicity address the problem by adding PCI_IOBASE to the physicaladdress requested in the respective wrapper macros only, observing thatthe raw accessors such as __insb&#39;, __outsb', etc. are not supposed tobe used other than by said macros. Remove the cast to long&#39; that is nolonger needed on addr' now that it is used as an offset from PCI_IOBASEand add parentheses around `addr' needed for predictable evaluation inmacro expansion. No need to make said adjustments in separate changesgiven that current code is gravely broken and does not ever work.The Linux kernel CVE team has assigned CVE-2022-50647 to this issue.
openEuler评分:
5.5
Vector:CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
受影响版本排查(受影响/不受影响):
1.master(6.12.33):不受影响
2.openEuler-20.03-LTS-SP4(4.19.90):受影响
3.openEuler-22.03-LTS-SP3(5.10.0):不受影响
4.openEuler-22.03-LTS-SP4(5.10.0):不受影响
5.openEuler-24.03-LTS(6.6.0):不受影响
6.openEuler-24.03-LTS-Next(6.6.0):不受影响
7.openEuler-24.03-LTS-SP1(6.6.0):不受影响
8.openEuler-24.03-LTS-SP2(6.6.0):不受影响
9.openEuler-24.03-LTS-SP3(6.6.0):不受影响

修复是否涉及abi变化(是/否):
1.master(6.12.33):否
2.openEuler-20.03-LTS-SP4(4.19.90):否
3.openEuler-22.03-LTS-SP3(5.10.0):否
4.openEuler-22.03-LTS-SP4(5.10.0):否
5.openEuler-24.03-LTS(6.6.0):否
6.openEuler-24.03-LTS-Next(6.6.0):否
7.openEuler-24.03-LTS-SP1(6.6.0):否
8.openEuler-24.03-LTS-SP2(6.6.0):否
9.openEuler-24.03-LTS-SP3(6.6.0):否

原因说明:
1.master(6.12.33):不受影响-漏洞代码不能被攻击者触发
2.openEuler-20.03-LTS-SP4(4.19.90):不修复-超出修复范围
3.openEuler-22.03-LTS-SP3(5.10.0):不受影响-漏洞代码不能被攻击者触发
4.openEuler-22.03-LTS-SP4(5.10.0):不受影响-漏洞代码不能被攻击者触发
5.openEuler-24.03-LTS(6.6.0):不受影响-漏洞代码不能被攻击者触发
6.openEuler-24.03-LTS-Next(6.6.0):不受影响-漏洞代码不能被攻击者触发
7.openEuler-24.03-LTS-SP1(6.6.0):不受影响-漏洞代码不能被攻击者触发
8.openEuler-24.03-LTS-SP2(6.6.0):不受影响-漏洞代码不能被攻击者触发
9.openEuler-24.03-LTS-SP3(6.6.0):不受影响-漏洞代码不能被攻击者触发

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
2025年12月9日 评论:

Hi openeuler-ci-bot, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers.

likedislike
openeuler-ci-botopeneuler-ci-bot成员
2025年12月9日 创建了CVE和安全问题
openeuler-ci-botopeneuler-ci-bot成员
2025年12月9日 添加了 &nbsp; CVE/UNFIXED 标签
openeuler-ci-bot
openeuler-ci-bot成员
2025年12月9日 评论:

@jiaoff ,@guohaocs2c ,@hanjun-guo ,@woqidaideshi ,@newbeats ,@zhangyi089 ,@colyli ,@htforge ,@chiqijun ,@lengchao ,@zhujianwei001 ,@kylin-mayukun ,@wangxiongfeng ,@wkfxxx ,@SuperSix173 ,@jentlestea ,@gasonchen ,@kailiu42 ,@whoisxxx ,@kevinzhu1
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, openEuler评分, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否), 原因说明)不能省略,省略后cve-manager将无法正常解析填写内容.


影响性分析说明:

openEuler评分: (评分和向量)

受影响版本排查(受影响/不受影响):
1.master(6.12.33):
2.openEuler-20.03-LTS-SP4(4.19.90):
3.openEuler-22.03-LTS-SP3(5.10.0):
4.openEuler-22.03-LTS-SP4(5.10.0):
5.openEuler-24.03-LTS(6.6.0):
6.openEuler-24.03-LTS-Next(6.6.0):
7.openEuler-24.03-LTS-SP1(6.6.0):
8.openEuler-24.03-LTS-SP2(6.6.0):
9.openEuler-24.03-LTS-SP3(6.6.0):

修复是否涉及abi变化(是/否):
1.master(6.12.33):
2.openEuler-20.03-LTS-SP4(4.19.90):
3.openEuler-22.03-LTS-SP3(5.10.0):
4.openEuler-22.03-LTS-SP4(5.10.0):
5.openEuler-24.03-LTS(6.6.0):
6.openEuler-24.03-LTS-Next(6.6.0):
7.openEuler-24.03-LTS-SP1(6.6.0):
8.openEuler-24.03-LTS-SP2(6.6.0):
9.openEuler-24.03-LTS-SP3(6.6.0):

原因说明:
1.master(6.12.33):
2.openEuler-20.03-LTS-SP4(4.19.90):
3.openEuler-22.03-LTS-SP3(5.10.0):
4.openEuler-22.03-LTS-SP4(5.10.0):
5.openEuler-24.03-LTS(6.6.0):
6.openEuler-24.03-LTS-Next(6.6.0):
7.openEuler-24.03-LTS-SP1(6.6.0):
8.openEuler-24.03-LTS-SP2(6.6.0):
9.openEuler-24.03-LTS-SP3(6.6.0):


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

分支状态 原因说明
受影响 正常修复
受影响 暂不修复-漏洞仍在分析中
受影响 暂不修复-暂无解决方案或补丁
受影响 暂不修复-待升级版本修复
受影响 不修复-超出修复范围
受影响 不修复-特殊原因导致不再修复
不受影响 不受影响-组件不存在
不受影响 不受影响-已有内置的内联控制或缓解措施
不受影响 不受影响-漏洞代码不能被攻击者触发
不受影响 不受影响-漏洞代码不在执行路径
不受影响 不受影响-漏洞代码不存在

issue处理具体操作请参考:
https://gitee.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
pr关联issue具体操作请参考:
https://gitee.com/help/articles/4142

likedislike
2025年12月9日 评论:

检测到新建 CVE Issue,CVE-ID: CVE-2022-50647

你可以通过以下两种方式使用 CVE 修复服务:

  1. 分支影响分析

    • 在本 Issue 下评论:/analysis_branches
    • 系统将自动分析各个分支是否受影响,并在本 Issue 下给出表格形式的分析结果;
  2. 在指定分支上创建 PR(修复提交)

    • 在本 Issue 下按如下格式评论(字段均为必填,每个字段单独一行):
/create_pr

branch: OLK-6.6 OLK-5.10
name: dev
email: dev@devstation.com
  • 说明:
    • branch: 需要创建 PR 的目标分支列表,例如 OLK-6.6 OLK-5.10
    • name: PR 签名人姓名(如责任人或安全负责人);
    • email: PR 签名人邮箱;

系统会根据上述信息自动在指定分支上创建 PR,并在本 Issue 下反馈结果。

provided by DevStation.

likedislike
openeuler-ci-botopeneuler-ci-bot成员
2025年12月9日 添加了 &nbsp; sig/Kernel 标签
openeuler-ci-bot
openeuler-ci-bot成员
2025年12月9日 评论:
参考网址 关联pr 状态 补丁链接
https://nvd.nist.gov/vuln/detail/CVE-2022-50647
https://ubuntu.com/security/CVE-2022-50647NoneNonehttps://discourse.ubuntu.com/c/project
https://www.opencve.io/cve/CVE-2022-50647
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2022-50647
https://security-tracker.debian.org/tracker/CVE-2022-50647
http://www.cnnvd.org.cn/web/vulnerability/queryLds.tag?qcvCnnvdid=CVE-2022-50647

说明:补丁链接仅供初步排查参考,实际可用性请人工再次确认,补丁下载验证可使用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成员
2025年12月9日 修改了描述
openeuler-ci-botopeneuler-ci-bot成员
2025年12月9日 修改了描述
openeuler-ci-botopeneuler-ci-bot成员
2025年12月9日 修改了描述
openeuler-ci-botopeneuler-ci-bot成员
2025年12月9日 修改了描述
openeuler-ci-botopeneuler-ci-bot成员
2025年12月9日 修改了描述
openeuler-ci-botopeneuler-ci-bot成员
2025年12月15日 修改了描述
2025年12月22日 评论:

CVE-2022-50647

影响性分析说明:
In the Linux kernel, the following vulnerability has been resolved:

RISC-V: Make port I/O string accessors actually work

Fix port I/O string accessors such as insb&#39;, outsb', etc. which use
the physical PCI port I/O address rather than the corresponding memory
mapping to get at the requested location, which in turn breaks at least
accesses made by our parport driver to a PCIe parallel port such as:

PCI parallel port detected: 1415:c118, I/O at 0x1000(0x1008), IRQ 20
parport0: PC-style at 0x1000 (0x1008), irq 20, using FIFO [PCSPP,TRISTATE,COMPAT,EPP,ECP]

causing a memory access fault:

Unable to handle kernel access to user memory without uaccess routines at virtual address 0000000000001008
Oops [#1]
Modules linked in:
CPU: 1 PID: 350 Comm: cat Not tainted 6.0.0-rc2-00283-g10d4879f9ef0-dirty #23
Hardware name: SiFive HiFive Unmatched A00 (DT)
epc : parport_pc_fifo_write_block_pio+0x266/0x416
ra : parport_pc_fifo_write_block_pio+0xb4/0x416
epc : ffffffff80542c3e ra : ffffffff80542a8c sp : ffffffd88899fc60
gp : ffffffff80fa2700 tp : ffffffd882b1e900 t0 : ffffffd883d0b000
t1 : ffffffffff000002 t2 : 4646393043330a38 s0 : ffffffd88899fcf0
s1 : 0000000000001000 a0 : 0000000000000010 a1 : 0000000000000000
a2 : ffffffd883d0a010 a3 : 0000000000000023 a4 : 00000000ffff8fbb
a5 : ffffffd883d0a001 a6 : 0000000100000000 a7 : ffffffc800000000
s2 : ffffffffff000002 s3 : ffffffff80d28880 s4 : ffffffff80fa1f50
s5 : 0000000000001008 s6 : 0000000000000008 s7 : ffffffd883d0a000
s8 : 0004000000000000 s9 : ffffffff80dc1d80 s10: ffffffd8807e4000
s11: 0000000000000000 t3 : 00000000000000ff t4 : 393044410a303930
t5 : 0000000000001000 t6 : 0000000000040000
status: 0000000200000120 badaddr: 0000000000001008 cause: 000000000000000f
[<ffffffff80543212>] parport_pc_compat_write_block_pio+0xfe/0x200
[<ffffffff8053bbc0>] parport_write+0x46/0xf8
[<ffffffff8050530e>] lp_write+0x158/0x2d2
[<ffffffff80185716>] vfs_write+0x8e/0x2c2
[<ffffffff80185a74>] ksys_write+0x52/0xc2
[<ffffffff80185af2>] sys_write+0xe/0x16
[<ffffffff80003770>] ret_from_syscall+0x0/0x2
---[ end trace 0000000000000000 ]---

For simplicity address the problem by adding PCI_IOBASE to the physical
address requested in the respective wrapper macros only, observing that
the raw accessors such as __insb&#39;, __outsb', etc. are not supposed to
be used other than by said macros. Remove the cast to long&#39; that is no longer needed on addr' now that it is used as an offset from PCI_IOBASE
and add parentheses around `addr' needed for predictable evaluation in
macro expansion. No need to make said adjustments in separate changes
given that current code is gravely broken and does not ever work.

The Linux kernel CVE team has assigned CVE-2022-50647 to this issue.

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

受影响版本排查(受影响/不受影响):
1.master(6.1.0):不受影响
2.openEuler-20.03-LTS-SP4:受影响
3.openEuler-22.03-LTS-SP3:不受影响
4.openEuler-22.03-LTS-SP4:不受影响
5.openEuler-24.03-LTS:不受影响
6.openEuler-24.03-LTS-Next:不受影响
7.openEuler-24.03-LTS-SP1:不受影响
8.openEuler-24.03-LTS-SP2:不受影响
9.openEuler-24.03-LTS-SP3:不受影响

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

原因说明:
1.master(23.08.5):不受影响-漏洞代码不能被攻击者触发
2.openEuler-20.03-LTS-SP4:不修复-超出修复范围
3.openEuler-22.03-LTS-SP3:不受影响-漏洞代码不能被攻击者触发
4.openEuler-22.03-LTS-SP4:不受影响-漏洞代码不能被攻击者触发
5.openEuler-24.03-LTS:不受影响-漏洞代码不能被攻击者触发
6.openEuler-24.03-LTS-Next:不受影响-漏洞代码不能被攻击者触发
7.openEuler-24.03-LTS-SP1:不受影响-漏洞代码不能被攻击者触发
8.openEuler-24.03-LTS-SP2:不受影响-漏洞代码不能被攻击者触发
9.openEuler-24.03-LTS-SP3:不受影响-漏洞代码不能被攻击者触发

likedislike
openeuler-ci-botopeneuler-ci-bot成员
1月12日 修改了issue 的描述
openeuler-ci-botopeneuler-ci-bot成员
1月12日 将 li-huisong 设为负责人,移除负责人 CTC-XiboWang
hulk-ci-bot成员
1月21日 评论:

CVE-2022-50647

影响性分析说明:
In the Linux kernel, the following vulnerability has been resolved:

RISC-V: Make port I/O string accessors actually work

Fix port I/O string accessors such as insb&#39;, outsb', etc. which use
the physical PCI port I/O address rather than the corresponding memory
mapping to get at the requested location, which in turn breaks at least
accesses made by our parport driver to a PCIe parallel port such as:

PCI parallel port detected: 1415:c118, I/O at 0x1000(0x1008), IRQ 20
parport0: PC-style at 0x1000 (0x1008), irq 20, using FIFO [PCSPP,TRISTATE,COMPAT,EPP,ECP]

causing a memory access fault:

Unable to handle kernel access to user memory without uaccess routines at virtual address 0000000000001008
Oops [#1]
Modules linked in:
CPU: 1 PID: 350 Comm: cat Not tainted 6.0.0-rc2-00283-g10d4879f9ef0-dirty #23
Hardware name: SiFive HiFive Unmatched A00 (DT)
epc : parport_pc_fifo_write_block_pio+0x266/0x416
ra : parport_pc_fifo_write_block_pio+0xb4/0x416
epc : ffffffff80542c3e ra : ffffffff80542a8c sp : ffffffd88899fc60
gp : ffffffff80fa2700 tp : ffffffd882b1e900 t0 : ffffffd883d0b000
t1 : ffffffffff000002 t2 : 4646393043330a38 s0 : ffffffd88899fcf0
s1 : 0000000000001000 a0 : 0000000000000010 a1 : 0000000000000000
a2 : ffffffd883d0a010 a3 : 0000000000000023 a4 : 00000000ffff8fbb
a5 : ffffffd883d0a001 a6 : 0000000100000000 a7 : ffffffc800000000
s2 : ffffffffff000002 s3 : ffffffff80d28880 s4 : ffffffff80fa1f50
s5 : 0000000000001008 s6 : 0000000000000008 s7 : ffffffd883d0a000
s8 : 0004000000000000 s9 : ffffffff80dc1d80 s10: ffffffd8807e4000
s11: 0000000000000000 t3 : 00000000000000ff t4 : 393044410a303930
t5 : 0000000000001000 t6 : 0000000000040000
status: 0000000200000120 badaddr: 0000000000001008 cause: 000000000000000f
[<ffffffff80543212>] parport_pc_compat_write_block_pio+0xfe/0x200
[<ffffffff8053bbc0>] parport_write+0x46/0xf8
[<ffffffff8050530e>] lp_write+0x158/0x2d2
[<ffffffff80185716>] vfs_write+0x8e/0x2c2
[<ffffffff80185a74>] ksys_write+0x52/0xc2
[<ffffffff80185af2>] sys_write+0xe/0x16
[<ffffffff80003770>] ret_from_syscall+0x0/0x2
---[ end trace 0000000000000000 ]---

For simplicity address the problem by adding PCI_IOBASE to the physical
address requested in the respective wrapper macros only, observing that
the raw accessors such as __insb&#39;, __outsb', etc. are not supposed to
be used other than by said macros. Remove the cast to long&#39; that is no longer needed on addr' now that it is used as an offset from PCI_IOBASE
and add parentheses around `addr' needed for predictable evaluation in
macro expansion. No need to make said adjustments in separate changes
given that current code is gravely broken and does not ever work.

The Linux kernel CVE team has assigned CVE-2022-50647 to this issue.

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

受影响版本排查(受影响/不受影响):
1.master(6.1.0):不受影响
2.openEuler-20.03-LTS-SP4:受影响
3.openEuler-22.03-LTS-SP3:不受影响
4.openEuler-22.03-LTS-SP4:不受影响
5.openEuler-24.03-LTS:不受影响
6.openEuler-24.03-LTS-Next:不受影响
7.openEuler-24.03-LTS-SP1:不受影响
8.openEuler-24.03-LTS-SP2:不受影响
9.openEuler-24.03-LTS-SP3:不受影响

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

原因说明:
1.master(23.08.5):不受影响-漏洞代码不能被攻击者触发
2.openEuler-20.03-LTS-SP4:不修复-超出修复范围
3.openEuler-22.03-LTS-SP3:不受影响-漏洞代码不能被攻击者触发
4.openEuler-22.03-LTS-SP4:不受影响-漏洞代码不能被攻击者触发
5.openEuler-24.03-LTS:不受影响-漏洞代码不能被攻击者触发
6.openEuler-24.03-LTS-Next:不受影响-漏洞代码不能被攻击者触发
7.openEuler-24.03-LTS-SP1:不受影响-漏洞代码不能被攻击者触发
8.openEuler-24.03-LTS-SP2:不受影响-漏洞代码不能被攻击者触发
9.openEuler-24.03-LTS-SP3:不受影响-漏洞代码不能被攻击者触发

likedislike
openeuler-ci-botopeneuler-ci-bot成员
1月21日 修改了issue 的描述
openeuler-ci-bot
openeuler-ci-bot成员
1月21日 评论:

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

状态 分析项目 内容
已分析 1.影响性分析说明 In the Linux kernel, the following vulnerability has been resolved:RISC-V: Make port I/O string accessors actually workFix port I/O string accessors such as insb&#39;, outsb', etc. which usethe physical PCI port I/O address rather than the corresponding memorymapping to get at the requested location, which in turn breaks at leastaccesses made by our parport driver to a PCIe parallel port such as:PCI parallel port detected: 1415:c118, I/O at 0x1000(0x1008), IRQ 20parport0: PC-style at 0x1000 (0x1008), irq 20, using FIFO [PCSPP,TRISTATE,COMPAT,EPP,ECP]causing a memory access fault:Unable to handle kernel access to user memory without uaccess routines at virtual address 0000000000001008Oops [#1]Modules linked in:CPU: 1 PID: 350 Comm: cat Not tainted 6.0.0-rc2-00283-g10d4879f9ef0-dirty #23Hardware name: SiFive HiFive Unmatched A00 (DT)epc : parport_pc_fifo_write_block_pio+0x266/0x416 ra : parport_pc_fifo_write_block_pio+0xb4/0x416epc : ffffffff80542c3e ra : ffffffff80542a8c sp : ffffffd88899fc60 gp : ffffffff80fa2700 tp : ffffffd882b1e900 t0 : ffffffd883d0b000 t1 : ffffffffff000002 t2 : 4646393043330a38 s0 : ffffffd88899fcf0 s1 : 0000000000001000 a0 : 0000000000000010 a1 : 0000000000000000 a2 : ffffffd883d0a010 a3 : 0000000000000023 a4 : 00000000ffff8fbb a5 : ffffffd883d0a001 a6 : 0000000100000000 a7 : ffffffc800000000 s2 : ffffffffff000002 s3 : ffffffff80d28880 s4 : ffffffff80fa1f50 s5 : 0000000000001008 s6 : 0000000000000008 s7 : ffffffd883d0a000 s8 : 0004000000000000 s9 : ffffffff80dc1d80 s10: ffffffd8807e4000 s11: 0000000000000000 t3 : 00000000000000ff t4 : 393044410a303930 t5 : 0000000000001000 t6 : 0000000000040000status: 0000000200000120 badaddr: 0000000000001008 cause: 000000000000000f[<ffffffff80543212>] parport_pc_compat_write_block_pio+0xfe/0x200[<ffffffff8053bbc0>] parport_write+0x46/0xf8[<ffffffff8050530e>] lp_write+0x158/0x2d2[<ffffffff80185716>] vfs_write+0x8e/0x2c2[<ffffffff80185a74>] ksys_write+0x52/0xc2[<ffffffff80185af2>] sys_write+0xe/0x16[<ffffffff80003770>] ret_from_syscall+0x0/0x2---[ end trace 0000000000000000 ]---For simplicity address the problem by adding PCI_IOBASE to the physicaladdress requested in the respective wrapper macros only, observing thatthe raw accessors such as __insb&#39;, __outsb', etc. are not supposed tobe used other than by said macros. Remove the cast to long&#39; that is nolonger needed on addr' now that it is used as an offset from PCI_IOBASEand add parentheses around `addr' needed for predictable evaluation inmacro expansion. No need to make said adjustments in separate changesgiven that current code is gravely broken and does not ever work.The Linux kernel CVE team has assigned CVE-2022-50647 to this issue.
已分析 2.openEulerScore 5.5
已分析 3.openEulerVector AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
已分析 4.受影响版本排查 master:不受影响,openEuler-20.03-LTS-SP4:受影响,openEuler-22.03-LTS-SP3:不受影响,openEuler-22.03-LTS-SP4:不受影响,openEuler-24.03-LTS:不受影响,openEuler-24.03-LTS-Next:不受影响,openEuler-24.03-LTS-SP1:不受影响,openEuler-24.03-LTS-SP2:不受影响,openEuler-24.03-LTS-SP3:不受影响
已分析 5.是否涉及abi变化 master:否,openEuler-20.03-LTS-SP4:否,openEuler-22.03-LTS-SP3:否,openEuler-22.03-LTS-SP4:否,openEuler-24.03-LTS:否,openEuler-24.03-LTS-Next:否,openEuler-24.03-LTS-SP1:否,openEuler-24.03-LTS-SP2:否,openEuler-24.03-LTS-SP3:否
已分析 6.原因说明 master:不受影响-漏洞代码不能被攻击者触发,openEuler-20.03-LTS-SP4:不修复-超出修复范围,openEuler-22.03-LTS-SP3:不受影响-漏洞代码不能被攻击者触发,openEuler-22.03-LTS-SP4:不受影响-漏洞代码不能被攻击者触发,openEuler-24.03-LTS:不受影响-漏洞代码不能被攻击者触发,openEuler-24.03-LTS-Next:不受影响-漏洞代码不能被攻击者触发,openEuler-24.03-LTS-SP1:不受影响-漏洞代码不能被攻击者触发,openEuler-24.03-LTS-SP2:不受影响-漏洞代码不能被攻击者触发,openEuler-24.03-LTS-SP3:不受影响-漏洞代码不能被攻击者触发

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

likedislike
openeuler-ci-botopeneuler-ci-bot成员
1月21日 issue状态由 待办的 改变为 已完成
openeuler-ci-botopeneuler-ci-bot成员
1月21日 关闭了 issue
openeuler-ci-botopeneuler-ci-bot成员
1月21日 删除了label:CVE/UNFIXED
openeuler-ci-botopeneuler-ci-bot成员
1月21日 添加了label:CVE/FIXED