🔍 CVE-2025-22048

7.8
CVSS Score
HIGH
2025-04-16
2026-10-30 13:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 LoongArch 아키텍처에서 BPF 서브프로그램의 반환 값을 처리할 때 발생하는 취약점입니다. BPF 호출 시 반환 값이 잘못 확장되어 메모리 주소 값이 오염됨으로써 커널 패닉(Panic)을 유발할 수 있습니다.

💡 쉬운 설명

컴퓨터가 특정 작업을 수행한 뒤 결과값을 전달하는 과정에서 숫자를 잘못 해석하여 시스템이 갑자기 멈추는 문제입니다. 이로 인해 시스템이 예기치 않게 재시작되거나 중단될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: LoongArch: BPF: Don't override subprog's return value The verifier test `calls: div by 0 in subprog` triggers a panic at the ld.bu instruction. The ld.bu insn is trying to load byte from memory address returned by the subprog. The subprog actually set the correct address at the a5 register (dedicated register for BPF return values). But at commit 73c359d1d356 ("LoongArch: BPF: Sign-extend return values") we also sign extended a5 to the a0 register (return value in LoongArch). For function call insn, we later propagate the a0 register back to a5 register. This is right for native calls but wrong for bpf2bpf calls which expect zero-extended return value in a5 register. So only move a0 to a5 for native calls (i.e. non-BPF_PSEUDO_CALL).

📍 영향받는 시스템

LoongArch 아키텍처를 사용하는 Linux 커널 (특정 커밋 이후 버전)

⚔️ 공격 벡터

조작된 BPF 프로그램을 로드하여 커널의 메모리 주소 계산 오류를 유도함으로써 시스템 패닉 유발

🛡️ 대응 방법

해당 취약점이 수정된 최신 버전의 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