110 Star 70 Fork 297

src-openEuler/kernel

 / 详情

CVE-2024-57878

已完成
CVE和安全问题 拥有者
创建于  
2025-01-22 16:31

一、漏洞信息
漏洞编号:CVE-2024-57878
漏洞归属组件:kernel
漏洞归属的版本:4.19.140,4.19.194,4.19.90,5.10.0,6.1.19,6.1.8,6.4.0,6.6.0
CVSS V3.0分值:
BaseScore:6.1 Medium
Vector:CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H
漏洞简述:
In the Linux kernel, the following vulnerability has been resolved:arm64: ptrace: fix partial SETREGSET for NT_ARM_FPMRCurrently fpmr_set() doesn t initialize the temporary fpmr variable,and a SETREGSET call with a length of zero will leave thisuninitialized. Consequently an arbitrary value will be written back totarget->thread.uw.fpmr, potentially leaking up to 64 bits of memory fromthe kernel stack. The read is limited to a specific slot on the stack,and the issue does not provide a write mechanism.Fix this by initializing the temporary value before copying the regsetfrom userspace, as for other regsets (e.g. NT_PRSTATUS, NT_PRFPREG,NT_ARM_SYSTEM_CALL). In the case of a zero-length write, the existingcontents of FPMR will be retained.Before this patch:| # ./fpmr-test| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d| SETREGSET(nt=0x40e, len=8) wrote 8 bytes|| Attempting to read NT_ARM_FPMR::fpmr| GETREGSET(nt=0x40e, len=8) read 8 bytes| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d|| Attempting to write NT_ARM_FPMR (zero length)| SETREGSET(nt=0x40e, len=0) wrote 0 bytes|| Attempting to read NT_ARM_FPMR::fpmr| GETREGSET(nt=0x40e, len=8) read 8 bytes| Read NT_ARM_FPMR::fpmr = 0xffff800083963d50After this patch:| # ./fpmr-test| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d| SETREGSET(nt=0x40e, len=8) wrote 8 bytes|| Attempting to read NT_ARM_FPMR::fpmr| GETREGSET(nt=0x40e, len=8) read 8 bytes| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d|| Attempting to write NT_ARM_FPMR (zero length)| SETREGSET(nt=0x40e, len=0) wrote 0 bytes|| Attempting to read NT_ARM_FPMR::fpmr| GETREGSET(nt=0x40e, len=8) read 8 bytes| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
漏洞公开时间:2025-01-11 23:15:08
漏洞创建时间:2025-01-22 16:31:36
漏洞详情参考链接:
https://nvd.nist.gov/vuln/detail/CVE-2024-57878

更多参考(点击展开)
参考来源 参考链接 来源链接
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/8ab73c34e3c5b580721696665eabd799346bc50b
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/f5d71291841aecfe5d8435da2dfa7f58ccd18bc8
suse_bugzilla http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-57878 https://bugzilla.suse.com/show_bug.cgi?id=1235803
suse_bugzilla https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2024/CVE-2024-57878.mbox https://bugzilla.suse.com/show_bug.cgi?id=1235803
suse_bugzilla https://git.kernel.org/stable/c/8ab73c34e3c5b580721696665eabd799346bc50b https://bugzilla.suse.com/show_bug.cgi?id=1235803
suse_bugzilla https://git.kernel.org/stable/c/f5d71291841aecfe5d8435da2dfa7f58ccd18bc8 https://bugzilla.suse.com/show_bug.cgi?id=1235803
suse_bugzilla https://www.cve.org/CVERecord?id=CVE-2024-57878 https://bugzilla.suse.com/show_bug.cgi?id=1235803
suse_bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=2337338 https://bugzilla.suse.com/show_bug.cgi?id=1235803
redhat_bugzilla https://lore.kernel.org/linux-cve-announce/2025011108-CVE-2024-57878-465c@gregkh/T https://bugzilla.redhat.com/show_bug.cgi?id=2337338
debian https://security-tracker.debian.org/tracker/CVE-2024-57878

漏洞分析指导链接:
https://gitee.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
漏洞数据来源:
openBrain开源漏洞感知系统
漏洞补丁信息:

详情(点击展开)
影响的包 修复版本 修复补丁 问题引入补丁 来源
linux_kernel 6.12.5 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8ab73c34e3c5b580721696665eabd799346bc50bIssue https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4035c22ef7d43a6c00d6a6584c60e902b95b46af linuxkernelcves
linux_kernel 6.13-rc2 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f5d71291841aecfe5d8435da2dfa7f58ccd18bc8Please https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4035c22ef7d43a6c00d6a6584c60e902b95b46af linuxkernelcves

二、漏洞分析结构反馈
影响性分析说明:
In the Linux kernel, the following vulnerability has been resolved:arm64: ptrace: fix partial SETREGSET for NT_ARM_FPMRCurrently fpmr_set() doesn t initialize the temporary fpmr variable,and a SETREGSET call with a length of zero will leave thisuninitialized. Consequently an arbitrary value will be written back totarget->thread.uw.fpmr, potentially leaking up to 64 bits of memory fromthe kernel stack. The read is limited to a specific slot on the stack,and the issue does not provide a write mechanism.Fix this by initializing the temporary value before copying the regsetfrom userspace, as for other regsets (e.g. NT_PRSTATUS, NT_PRFPREG,NT_ARM_SYSTEM_CALL). In the case of a zero-length write, the existingcontents of FPMR will be retained.Before this patch:| # ./fpmr-test| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d| SETREGSET(nt=0x40e, len=8) wrote 8 bytes|| Attempting to read NT_ARM_FPMR::fpmr| GETREGSET(nt=0x40e, len=8) read 8 bytes| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d|| Attempting to write NT_ARM_FPMR (zero length)| SETREGSET(nt=0x40e, len=0) wrote 0 bytes|| Attempting to read NT_ARM_FPMR::fpmr| GETREGSET(nt=0x40e, len=8) read 8 bytes| Read NT_ARM_FPMR::fpmr = 0xffff800083963d50After this patch:| # ./fpmr-test| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d| SETREGSET(nt=0x40e, len=8) wrote 8 bytes|| Attempting to read NT_ARM_FPMR::fpmr| GETREGSET(nt=0x40e, len=8) read 8 bytes| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d|| Attempting to write NT_ARM_FPMR (zero length)| SETREGSET(nt=0x40e, len=0) wrote 0 bytes|| Attempting to read NT_ARM_FPMR::fpmr| GETREGSET(nt=0x40e, len=8) read 8 bytes| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
openEuler评分:
6.1
Vector:CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H
受影响版本排查(受影响/不受影响):
1.openEuler-20.03-LTS-SP4(4.19.90):不受影响
2.openEuler-22.03-LTS-SP3(5.10.0):不受影响
3.openEuler-22.03-LTS-SP4:不受影响
4.master(6.6.0):不受影响
5.openEuler-24.03-LTS:不受影响
6.openEuler-24.03-LTS-Next:不受影响
7.openEuler-24.03-LTS-SP1:不受影响

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

原因说明:
1.master(6.6.0):不受影响-漏洞代码不能被攻击者触发
2.openEuler-24.03-LTS-Next:不受影响-漏洞代码不能被攻击者触发
3.openEuler-20.03-LTS-SP4(4.19.90):不受影响-漏洞代码不存在
4.openEuler-22.03-LTS-SP3(5.10.0):不受影响-漏洞代码不存在
5.openEuler-22.03-LTS-SP4:不受影响-漏洞代码不存在
6.openEuler-24.03-LTS:不受影响-漏洞代码不存在
7.openEuler-24.03-LTS-SP1:不受影响-漏洞代码不存在

评论 (9)

openeuler-ci-bot 创建了CVE和安全问题 3个月前
openeuler-ci-bot 添加了
 
CVE/UNFIXED
标签
3个月前
展开全部操作日志

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.

openeuler-ci-bot 添加了
 
sig/Kernel
标签
3个月前
参考网址 关联pr 状态 补丁链接
https://nvd.nist.gov/vuln/detail/CVE-2024-57878NoneNonehttps://git.kernel.org/stable/c/f5d71291841aecfe5d8435da2dfa7f58ccd18bc8
https://git.kernel.org/stable/c/8ab73c34e3c5b580721696665eabd799346bc50b
https://ubuntu.com/security/CVE-2024-57878NoneNonehttps://git.kernel.org/stable/c/8ab73c34e3c5b580721696665eabd799346bc50b
https://git.kernel.org/linus/4035c22ef7d43a6c00d6a6584c60e902b95b46af
https://git.kernel.org/stable/c/f5d71291841aecfe5d8435da2dfa7f58ccd18bc8
https://git.kernel.org/linus/f5d71291841aecfe5d8435da2dfa7f58ccd18bc8
https://discourse.ubuntu.com/c/project
https://www.opencve.io/cve/CVE-2024-57878
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2024-57878
https://security-tracker.debian.org/tracker/CVE-2024-57878

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

openeuler-ci-bot 修改了描述 3个月前
openeuler-ci-bot 修改了描述 3个月前
openeuler-ci-bot 计划开始日期设置为2025-01-22 3个月前
openeuler-ci-bot 计划截止日期设置为2025-02-21 3个月前
openeuler-ci-bot 优先级设置为次要 3个月前
openeuler-ci-bot 计划开始日期2025-01-22 修改为2025-02-01 3个月前
openeuler-ci-bot 计划截止日期2025-02-21 修改为2025-03-03 3个月前
openeuler-ci-bot 修改了描述 3个月前
openeuler-ci-bot 修改了描述 3个月前
openeuler-ci-bot 修改了描述 2个月前

CVE-2024-57878

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

arm64: ptrace: fix partial SETREGSET for NT_ARM_FPMR

Currently fpmr_set() doesn't initialize the temporary 'fpmr' variable,
and a SETREGSET call with a length of zero will leave this
uninitialized. Consequently an arbitrary value will be written back to
target->thread.uw.fpmr, potentially leaking up to 64 bits of memory from
the kernel stack. The read is limited to a specific slot on the stack,
and the issue does not provide a write mechanism.

Fix this by initializing the temporary value before copying the regset
from userspace, as for other regsets (e.g. NT_PRSTATUS, NT_PRFPREG,
NT_ARM_SYSTEM_CALL). In the case of a zero-length write, the existing
contents of FPMR will be retained.

Before this patch:

| # ./fpmr-test
| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d
| SETREGSET(nt=0x40e, len=8) wrote 8 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
|
| Attempting to write NT_ARM_FPMR (zero length)
| SETREGSET(nt=0x40e, len=0) wrote 0 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0xffff800083963d50

After this patch:

| # ./fpmr-test
| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d
| SETREGSET(nt=0x40e, len=8) wrote 8 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
|
| Attempting to write NT_ARM_FPMR (zero length)
| SETREGSET(nt=0x40e, len=0) wrote 0 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d

The Linux kernel CVE team has assigned CVE-2024-57878 to this issue.

openEuler评分:(评分和向量)
6.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/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:不受影响

修复是否涉及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:否

原因说明:
1.master(23.08.5):不受影响-漏洞代码不能被攻击者触发
2.openEuler-20.03-LTS-SP4:不受影响-漏洞代码不存在
4.openEuler-22.03-LTS-SP3:不受影响-漏洞代码不存在
5.openEuler-22.03-LTS-SP4:不受影响-漏洞代码不存在
6.openEuler-24.03-LTS:不受影响-漏洞代码不存在
7.openEuler-24.03-LTS-Next:不受影响-漏洞代码不能被攻击者触发
8.openEuler-24.03-LTS-SP1:不受影响-漏洞代码不存在

openeuler-ci-bot 修改了描述 2个月前
openeuler-ci-bot 任务状态待办的 修改为已完成 2个月前
openeuler-ci-bot 移除了
 
CVE/UNFIXED
标签
2个月前
openeuler-ci-bot 移除了
 
sig/Kernel
标签
2个月前
openeuler-ci-bot 添加了
 
CVE/UNAFFECTED
标签
2个月前
openeuler-ci-bot 添加了
 
sig/Kernel
标签
2个月前
郭梦琪 任务状态已完成 修改为待办的 2个月前
openeuler-ci-bot 移除了
 
CVE/UNAFFECTED
标签
2个月前
openeuler-ci-bot 移除了
 
sig/Kernel
标签
2个月前
openeuler-ci-bot 添加了
 
CVE/UNFIXED
标签
2个月前
openeuler-ci-bot 添加了
 
sig/Kernel
标签
2个月前

CVE-2024-57878

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

arm64: ptrace: fix partial SETREGSET for NT_ARM_FPMR

Currently fpmr_set() doesn't initialize the temporary 'fpmr' variable,
and a SETREGSET call with a length of zero will leave this
uninitialized. Consequently an arbitrary value will be written back to
target->thread.uw.fpmr, potentially leaking up to 64 bits of memory from
the kernel stack. The read is limited to a specific slot on the stack,
and the issue does not provide a write mechanism.

Fix this by initializing the temporary value before copying the regset
from userspace, as for other regsets (e.g. NT_PRSTATUS, NT_PRFPREG,
NT_ARM_SYSTEM_CALL). In the case of a zero-length write, the existing
contents of FPMR will be retained.

Before this patch:

| # ./fpmr-test
| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d
| SETREGSET(nt=0x40e, len=8) wrote 8 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
|
| Attempting to write NT_ARM_FPMR (zero length)
| SETREGSET(nt=0x40e, len=0) wrote 0 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0xffff800083963d50

After this patch:

| # ./fpmr-test
| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d
| SETREGSET(nt=0x40e, len=8) wrote 8 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
|
| Attempting to write NT_ARM_FPMR (zero length)
| SETREGSET(nt=0x40e, len=0) wrote 0 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d

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

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

原因说明:
1.openEuler-20.03-LTS-SP4:不受影响-漏洞代码不存在
2.openEuler-22.03-LTS-SP3:不受影响-漏洞代码不存在
3.openEuler-22.03-LTS-SP4:不受影响-漏洞代码不存在
4.master(6.6.0):不受影响-漏洞代码不能被攻击者触发
5.openEuler-24.03-LTS:不受影响-漏洞代码不存在
6.openEuler-24.03-LTS-Next:不受影响-漏洞代码不能被攻击者触发
7.openEuler-24.03-LTS-SP1:不受影响-漏洞代码不存在

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

===========================================================

openeuler-ci-bot 修改了描述 2个月前
openeuler-ci-bot 任务状态待办的 修改为已完成 2个月前
openeuler-ci-bot 移除了
 
CVE/UNFIXED
标签
2个月前
openeuler-ci-bot 移除了
 
sig/Kernel
标签
2个月前
openeuler-ci-bot 添加了
 
CVE/UNAFFECTED
标签
2个月前
openeuler-ci-bot 添加了
 
sig/Kernel
标签
2个月前

CVE-2024-57878

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

arm64: ptrace: fix partial SETREGSET for NT_ARM_FPMR

Currently fpmr_set() doesn't initialize the temporary 'fpmr' variable,
and a SETREGSET call with a length of zero will leave this
uninitialized. Consequently an arbitrary value will be written back to
target->thread.uw.fpmr, potentially leaking up to 64 bits of memory from
the kernel stack. The read is limited to a specific slot on the stack,
and the issue does not provide a write mechanism.

Fix this by initializing the temporary value before copying the regset
from userspace, as for other regsets (e.g. NT_PRSTATUS, NT_PRFPREG,
NT_ARM_SYSTEM_CALL). In the case of a zero-length write, the existing
contents of FPMR will be retained.

Before this patch:

| # ./fpmr-test
| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d
| SETREGSET(nt=0x40e, len=8) wrote 8 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
|
| Attempting to write NT_ARM_FPMR (zero length)
| SETREGSET(nt=0x40e, len=0) wrote 0 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0xffff800083963d50

After this patch:

| # ./fpmr-test
| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d
| SETREGSET(nt=0x40e, len=8) wrote 8 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
|
| Attempting to write NT_ARM_FPMR (zero length)
| SETREGSET(nt=0x40e, len=0) wrote 0 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d

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

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

原因说明:
1.openEuler-20.03-LTS-SP4:不受影响-漏洞代码不存在
2.openEuler-22.03-LTS-SP3:不受影响-漏洞代码不存在
3.openEuler-22.03-LTS-SP4:不受影响-漏洞代码不存在
4.master(6.6.0):不受影响-漏洞代码不能被攻击者触发
5.openEuler-24.03-LTS:不受影响-漏洞代码不存在
6.openEuler-24.03-LTS-Next:不受影响-漏洞代码不能被攻击者触发
7.openEuler-24.03-LTS-SP1:不受影响-漏洞代码不存在

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

===========================================================

CVE-2024-57878

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

arm64: ptrace: fix partial SETREGSET for NT_ARM_FPMR

Currently fpmr_set() doesn't initialize the temporary 'fpmr' variable,
and a SETREGSET call with a length of zero will leave this
uninitialized. Consequently an arbitrary value will be written back to
target->thread.uw.fpmr, potentially leaking up to 64 bits of memory from
the kernel stack. The read is limited to a specific slot on the stack,
and the issue does not provide a write mechanism.

Fix this by initializing the temporary value before copying the regset
from userspace, as for other regsets (e.g. NT_PRSTATUS, NT_PRFPREG,
NT_ARM_SYSTEM_CALL). In the case of a zero-length write, the existing
contents of FPMR will be retained.

Before this patch:

| # ./fpmr-test
| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d
| SETREGSET(nt=0x40e, len=8) wrote 8 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
|
| Attempting to write NT_ARM_FPMR (zero length)
| SETREGSET(nt=0x40e, len=0) wrote 0 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0xffff800083963d50

After this patch:

| # ./fpmr-test
| Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d
| SETREGSET(nt=0x40e, len=8) wrote 8 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
|
| Attempting to write NT_ARM_FPMR (zero length)
| SETREGSET(nt=0x40e, len=0) wrote 0 bytes
|
| Attempting to read NT_ARM_FPMR::fpmr
| GETREGSET(nt=0x40e, len=8) read 8 bytes
| Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d

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

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

原因说明:
1.openEuler-20.03-LTS-SP4:不受影响-漏洞代码不存在
2.openEuler-22.03-LTS-SP3:不受影响-漏洞代码不存在
3.openEuler-22.03-LTS-SP4:不受影响-漏洞代码不存在
4.master(6.6.0):不受影响-漏洞代码不能被攻击者触发
5.openEuler-24.03-LTS:不受影响-漏洞代码不存在
6.openEuler-24.03-LTS-Next:不受影响-漏洞代码不能被攻击者触发
7.openEuler-24.03-LTS-SP1:不受影响-漏洞代码不存在

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

===========================================================

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5329419 openeuler ci bot 1632792936 hulk-robot-zhixiuzhou 郭梦琪-guo-mengqi
1
https://gitee.com/src-openeuler/kernel.git
git@gitee.com:src-openeuler/kernel.git
src-openeuler
kernel
kernel

搜索帮助