PT-2024-34028 · Linux+7 · Linux Kernel+7

Published

2024-11-07

·

Updated

2025-10-03

·

CVE-2024-50194

CVSS v3.1

5.5

Medium

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Name of the Vulnerable Software and Affected Versions: Linux kernel versions prior to 6.11.4
Description: The Linux kernel has a bug in the arm64 uprobes code for big-endian kernels. The issue arises because the kernel does not convert the in-memory instruction encoding from little-endian to the kernel's native endianness before analyzing and simulating instructions. This can lead to several problems, including the kernel rejecting probing of safe instructions, permitting unsafe stepping of instructions, and simulating instructions incorrectly due to byte-swapped encoding. The endianness mismatch is not caught by the compiler or sparse due to the encoding of certain fields as arrays of u8 and the use of memcpy() without endianness handling. The issue is resolved by changing the affected fields to le32 and adding the appropriate le32 to cpu() conversions.
Recommendations: To resolve the issue, upgrade the Linux kernel to a version newer than 6.11.4. As a temporary workaround, consider disabling the use of arm64 uprobes on big-endian kernels until a patch is available. Restrict access to the vulnerable uprobe events and events/uprobes/enable endpoints to minimize the risk of exploitation. Avoid using the uprobe opcode t type and the arch uprobe analyze insn() and arch uprobe skip sstep() functions until the issue is resolved.

Exploit

Fix

Buffer Overflow

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

ALSA-2025_12746
ALSA-2025_12752
ALSA-2025_12753
ALSA-2025_16880
ALT-PU-2024-16172
ALT-PU-2024-17099
ALT-PU-2024-17211
ALT-PU-2025-12647
AZL-53435
AZL-53654
BDU:2025-04509
CVE-2024-50194
DLA-4008-1
DLA-4075-1
OESA-2024-2537
OESA-2024-2589
OESA-2025-1095
OESA-2025-1096
OPENSUSE-SU-2024:14500-1
OPENSUSE-SU-2024_4314-1
OPENSUSE-SU-2024_4315-1
OPENSUSE-SU-2024_4316-1
OPENSUSE-SU-2024_4376-1
OPENSUSE-SU-2025:14705-1
SUSE-SU-2024:4314-1
SUSE-SU-2024:4315-1
SUSE-SU-2024:4316-1
SUSE-SU-2024:4318-1
SUSE-SU-2024:4364-1
SUSE-SU-2024:4367-1
SUSE-SU-2024:4376-1
SUSE-SU-2024:4387-1
SUSE-SU-2025:0035-1
SUSE-SU-2025:20163-1
SUSE-SU-2025:20164-1
SUSE-SU-2025:20246-1
SUSE-SU-2025:20247-1
USN-7276-1
USN-7277-1
USN-7288-1
USN-7288-2
USN-7289-1
USN-7289-2
USN-7289-3
USN-7289-4
USN-7291-1
USN-7293-1
USN-7294-1
USN-7294-2
USN-7294-3
USN-7294-4
USN-7295-1
USN-7305-1
USN-7308-1
USN-7310-1
USN-7331-1
USN-7383-1
USN-7383-2
USN-7384-1
USN-7384-2
USN-7385-1
USN-7386-1
USN-7388-1
USN-7389-1
USN-7390-1
USN-7393-1
USN-7401-1
USN-7403-1
USN-7413-1
USN-7451-1
USN-7458-1
USN-7468-1
USN-7523-1
USN-7524-1
USN-7539-1
USN-7540-1

Affected Products

Alt Linux
Astra Linux
Debian
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu