CWE
908
Advisory Published
Updated

CVE-2024-57874: arm64: ptrace: fix partial SETREGSET for NT_ARM_TAGGED_ADDR_CTRL

First published: Sat Jan 11 2025(Updated: )

In the Linux kernel, the following vulnerability has been resolved: arm64: ptrace: fix partial SETREGSET for NT_ARM_TAGGED_ADDR_CTRL Currently tagged_addr_ctrl_set() doesn't initialize the temporary 'ctrl' variable, and a SETREGSET call with a length of zero will leave this uninitialized. Consequently tagged_addr_ctrl_set() will consume an arbitrary value, 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. As set_tagged_addr_ctrl() only accepts values where bits [63:4] zero and rejects other values, a partial SETREGSET attempt will randomly succeed or fail depending on the value of the uninitialized value, and the exposure is significantly limited. 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 value of the tagged address ctrl will be retained. The NT_ARM_TAGGED_ADDR_CTRL regset is only visible in the user_aarch64_view used by a native AArch64 task to manipulate another native AArch64 task. As get_tagged_addr_ctrl() only returns an error value when called for a compat task, tagged_addr_ctrl_get() and tagged_addr_ctrl_set() should never observe an error value from get_tagged_addr_ctrl(). Add a WARN_ON_ONCE() to both to indicate that such an error would be unexpected, and error handlnig is not missing in either case.

Credit: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Affected SoftwareAffected VersionHow to fix
Red Hat Kernel-devel
Linux Kernel>=5.10<5.10.231
Linux Kernel>=5.11<5.15.174
Linux Kernel>=5.16<6.1.120
Linux Kernel>=6.2<6.6.66
Linux Kernel>=6.7<6.12.5
Linux Kernel=6.13-rc1
debian/linux<=5.10.223-1
5.10.234-1
6.1.129-1
6.1.128-1
6.12.20-1
6.12.21-1
debian/linux-6.1
6.1.129-1~deb11u1

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Frequently Asked Questions

  • What is the severity of CVE-2024-57874?

    CVE-2024-57874 is categorized as a medium severity vulnerability in the Linux kernel.

  • How do I fix CVE-2024-57874?

    To mitigate CVE-2024-57874, update your Linux kernel to a patched version that removes the vulnerability.

  • What versions of the Linux kernel are affected by CVE-2024-57874?

    CVE-2024-57874 affects multiple versions of the Linux kernel between 5.10 and 6.13-rc1.

  • What is the main impact of CVE-2024-57874?

    The main impact of CVE-2024-57874 is a potential information leak due to improper initialization in the ptrace system call.

  • Is there a workaround for CVE-2024-57874?

    There is no known workaround for CVE-2024-57874; it is recommended to apply patches as they become available.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2025 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203