🔍 CVE-2025-37893

7.8
CVSS Score
HIGH
2025-04-18
2026-07-30 06:22
✅ 완료

🇰🇷 한글 설명

Linux 커널의 LoongArch 아키텍처에서 BPF 프로그램 사용 시 build_prologue() 함수 내의 off-by-one 오류가 발견되었습니다. 이 오류로 인해 JIT 컴파일된 이미지의 에필로그 끝에 필요한 명령어가 누락되어 커널 하드 락업(Hard Lockup)이 발생할 수 있습니다.

💡 쉬운 설명

특정 컴퓨터 구조(LoongArch)에서 특수한 프로그램을 실행할 때, 컴퓨터의 두뇌 역할을 하는 커널이 계산 실수를 하여 시스템이 완전히 멈춰버리는 문제입니다. 프로그램의 끝부분 처리가 잘못되어 엉뚱한 명령을 실행하기 때문에 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: LoongArch: BPF: Fix off-by-one error in build_prologue() Vincent reported that running BPF progs with tailcalls on LoongArch causes kernel hard lockup. Debugging the issues shows that the JITed image missing a jirl instruction at the end of the epilogue. There are two passes in JIT compiling, the first pass set the flags and the second pass generates JIT code based on those flags. With BPF progs mixing bpf2bpf and tailcalls, build_prologue() generates N insns in the first pass and then generates N+1 insns in the second pass. This makes epilogue_offset off by one and we will jump to some unexpected insn and cause lockup. Fix this by inserting a nop insn.

📍 영향받는 시스템

LoongArch 아키텍처를 사용하는 Linux 커널 시스템

⚔️ 공격 벡터

tailcall 기능이 포함된 특수하게 제작된 BPF 프로그램을 실행하여 시스템을 강제로 중단시킴

🛡️ 대응 방법

LoongArch 아키텍처의 BPF JIT 컴파일 오류가 수정된 최신 Linux 커널 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인

Shell / Script
uname -a

📊 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