Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-57878— arm64: ptrace: fix partial SETREGSET for NT_ARM_FPMR

EPSS 0.03% · P9
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2024-57878

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
arm64: ptrace: fix partial SETREGSET for NT_ARM_FPMR
Source: NVD (National Vulnerability Database)
Vulnerability Description
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
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于ARM64架构的ptrace在处理NT_ARM_FPMR时,未初始化临时变量fpmr,可能导致内核栈内存泄漏。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 4035c22ef7d43a6c00d6a6584c60e902b95b46af ~ 8ab73c34e3c5b580721696665eabd799346bc50b -
LinuxLinux 6.9 -

II. Public POCs for CVE-2024-57878

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-57878

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-01-11 · 67 CVEs total

CVE-2024-57792power: supply: gpio-charger: Fix set charge current limits
CVE-2024-57877arm64: ptrace: fix partial SETREGSET for NT_ARM_POE
CVE-2024-57876drm/dp_mst: Fix resetting msg rx state after topology removal
CVE-2024-57875block: RCU protect disk->conv_zones_bitmap
CVE-2024-57805ASoC: SOF: Intel: hda-dai: Do not release the link DMA on STOP
CVE-2024-57804scsi: mpi3mr: Fix corrupt config pages PHY state is switched in sysfs
CVE-2024-57800ALSA: memalloc: prefer dma_mapping_error() over explicit address checking
CVE-2024-57799phy: rockchip: samsung-hdptx: Set drvdata before enabling runtime PM
CVE-2024-57798drm/dp_mst: Ensure mst_primary pointer is valid in drm_dp_mst_handle_up_req()
CVE-2024-57793virt: tdx-guest: Just leak decrypted memory on unrecoverable errors
CVE-2024-57806btrfs: fix transaction atomicity bug when enabling simple quotas
CVE-2024-57791net/smc: check return value of sock_recvmsg when draining clc data
CVE-2024-56788net: ethernet: oa_tc6: fix tx skb race condition between reference pointers
CVE-2024-56372net: tun: fix tun_napi_alloc_frags()
CVE-2024-56369drm/modes: Avoid divide by zero harder in drm_mode_vrefresh()
CVE-2024-56368ring-buffer: Fix overflow in __rb_map_vma
CVE-2024-55916Drivers: hv: util: Avoid accessing a ringbuffer not initialized yet
CVE-2024-55881KVM: x86: Play nice with protected guests in complete_hypercall_exit()
CVE-2024-54193accel/ivpu: Fix WARN in ivpu_ipc_send_receive_internal()
CVE-2024-54455accel/ivpu: Fix general protection fault in ivpu_bo_list()

Showing top 20 of 67 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2024-57878

No comments yet


Leave a comment