CVE-2024-57878: Vulnerability Analysis & Exploit Details

Status: Analyzed - Last modified: 03-02-2025 Published: 11-01-2025

CVE-2024-57878
Vulnerability Scoring

6.1
/10

Attack Complexity Details

  • Attack Complexity: Low Impact
  • Attack Vector: LOCAL
  • Privileges Required: Low Impact
  • Scope: UNCHANGED
  • User Interaction: NONE

CIA Impact Definition

  • Confidentiality: Low Impact
  • Integrity:
  • Availability: HIGH IMPACT

CVE-2024-57878 Vulnerability Summary

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

Access Complexity Graph for CVE-2024-57878

Impact Analysis for CVE-2024-57878

CVE-2024-57878: Detailed Information and External References

EPSS

0.00043

EPSS %

0.11488

References

0.00043

CWE

CWE-908

Vulnerable Configurations

  • cpe:2.3:o:linux:linux_kernel:6.9:-:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9:-:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.1:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.1:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.2:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.2:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.3:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.3:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.4:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.4:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.5:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.5:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.6:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.6:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.7:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.7:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.8:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.8:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.9:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.9:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.10:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.10:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.11:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.11:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9.12:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9.12:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9:rc1:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9:rc1:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9:rc2:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9:rc2:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9:rc3:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9:rc3:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9:rc4:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9:rc4:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9:rc5:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9:rc5:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9:rc6:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9:rc6:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.9:rc7:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.9:rc7:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10:-:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10:-:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.0:rc1:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.0:rc1:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.0:rc2:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.0:rc2:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.0:rc3:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.0:rc3:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.1:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.1:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.2:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.2:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.3:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.3:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.4:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.4:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.5:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.5:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.6:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.6:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.7:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.7:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.8:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.8:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.9:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.9:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.10:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.10:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.11:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.11:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.12:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.12:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.13:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.13:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10.14:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10.14:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10:rc5:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10:rc5:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10:rc6:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10:rc6:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.10:rc7:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.10:rc7:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11:-:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11:-:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11.1:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11.1:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11.2:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11.2:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11.3:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11.3:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11.4:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11.4:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11.5:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11.5:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11.6:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11.6:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11.7:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11.7:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11.8:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11.8:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11.10:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11.10:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11:rc7:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11:rc7:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.11:rc8:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.11:rc8:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.12:-:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.12:-:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*

CVSS3 Source

nvd@nist.gov

CVSS3 Type

Primary

CVSS3 Vector

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H

Protect Your Infrastructure: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Recently Published CVEs