🔍 CVE-2024-50132

7.8
CVSS Score
HIGH
2024-11-05
2026-08-04 11:21
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 tracing/probes 구성 요소에서 MAX_TRACE_ARGS 제한 처리 오류로 인해 발생하는 취약점입니다. 128개 이상의 인자를 가진 trace_probe를 생성할 때 잘못된 메모리 접근이 발생하여 커널 NULL 포인터 역참조 및 시스템 오류를 유발할 수 있습니다.

💡 쉬운 설명

리눅스 시스템의 기록 기능을 사용할 때 너무 많은 정보를 한꺼번에 요청하면 컴퓨터의 핵심 부분인 커널이 길을 잃고 멈춰버릴 수 있는 문제입니다. 이는 시스템을 강제로 종료시키거나 오류를 일으킬 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: tracing/probes: Fix MAX_TRACE_ARGS limit handling When creating a trace_probe we would set nr_args prior to truncating the arguments to MAX_TRACE_ARGS. However, we would only initialize arguments up to the limit. This caused invalid memory access when attempting to set up probes with more than 128 fetchargs. BUG: kernel NULL pointer dereference, address: 0000000000000020 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] PREEMPT SMP PTI CPU: 0 UID: 0 PID: 1769 Comm: cat Not tainted 6.11.0-rc7+ #8 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-1.fc39 04/01/2014 RIP: 0010:__set_print_fmt+0x134/0x330 Resolve the issue by applying the MAX_TRACE_ARGS limit earlier. Return an error when there are too many arguments instead of silently truncating.

📍 영향받는 시스템

Linux kernel (tracing/probes 관련 기능이 활성화된 버전)

⚔️ 공격 벡터

로컬 사용자가 과도한 인자를 포함한 trace_probe를 생성하여 커널 메모리 오류 유도

🛡️ 대응 방법

MAX_TRACE_ARGS 제한을 조기에 적용하고, 인자가 초과될 경우 오류를 반환하도록 커널 패치 적용

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전인지 배포판 보안 공지를 통해 확인

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel