🔍 CVE-2024-50203

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

🇰🇷 한글 설명

Linux 커널의 arm64 아키텍처에서 tag-based KASAN이 활성화된 경우, BPF 트램펄린 이미지 주소 생성 과정에서 크기 계산과 실제 코드 생성 간의 불일치가 발생합니다. 이로 인해 힙 버퍼 오버플로우가 발생할 수 있으며, 이를 방지하기 위해 주소 방출 시 최악의 경우를 가정하여 크기를 계산하도록 수정되었습니다.

💡 쉬운 설명

컴퓨터의 메모리를 관리하는 과정에서 계산 오류로 인해 허용된 범위를 넘어서는 데이터가 써질 수 있는 취약점입니다. 이 오류를 이용하면 시스템의 보안을 무너뜨릴 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: bpf, arm64: Fix address emission with tag-based KASAN enabled When BPF_TRAMP_F_CALL_ORIG is enabled, the address of a bpf_tramp_image struct on the stack is passed during the size calculation pass and an address on the heap is passed during code generation. This may cause a heap buffer overflow if the heap address is tagged because emit_a64_mov_i64() will emit longer code than it did during the size calculation pass. The same problem could occur without tag-based KASAN if one of the 16-bit words of the stack address happened to be all-ones during the size calculation pass. Fix the problem by assuming the worst case (4 instructions) when calculating the size of the bpf_tramp_image address emission.

📍 영향받는 시스템

tag-based KASAN이 활성화된 arm64 아키텍처 기반 Linux 커널

⚔️ 공격 벡터

BPF_TRAMP_F_CALL_ORIG 옵션이 활성화된 환경에서 특수하게 조작된 BPF 프로그램을 실행하여 힙 버퍼 오버플로우 유도

🛡️ 대응 방법

tag-based KASAN 환경에서 bpf_tramp_image 주소 방출 시 크기 계산 로직이 수정된 최신 Linux 커널로 업데이트

🔧 검증 코드

출력 결과에 KASAN_TAG 설정이 활성화되어 있는지 확인하고, 커널 버전을 최신 보안 패치 버전과 비교합니다.

Shell / Script
uname -a && grep -E 'CONFIG_KASAN_TAG=y' /boot/config-$(uname -r) 2>/dev/null

📊 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