🔍 CVE-2025-39716

5.5
CVSS Score
MEDIUM
2025-09-05
2026-10-19 21:10
✅ 완료

🇰🇷 한글 설명

Linux 커널 parisc 아키텍처에서 __get_user() 함수가 읽기 접근 권한을 제대로 검증하지 않아, 사용자 코드가 읽기 보호된 메모리 영역에 접근할 수 있는 취약점입니다. 커널이 권한 레벨 0에서 실행되므로 권한 레벨 3(PRIV_USER)에서의 접근 제어가 우회됩니다.

💡 쉬운 설명

Linux 커널의 특정 프로세서 아키텍처(parisc)에서 보안 검사가 제대로 되지 않아 일반 사용자가 금지된 메모리에 접근할 수 있습니다. 시스템 호출을 통해 보호된 영역을 읽을 수 있게 됩니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: parisc: Revise __get_user() to probe user read access Because of the way read access support is implemented, read access interruptions are only triggered at privilege levels 2 and 3. The kernel executes at privilege level 0, so __get_user() never triggers a read access interruption (code 26). Thus, it is currently possible for user code to access a read protected address via a system call. Fix this by probing read access rights at privilege level 3 (PRIV_USER) and setting __gu_err to -EFAULT (-14) if access isn't allowed. Note the cmpiclr instruction does a 32-bit compare because COND macro doesn't work inside asm.

📍 영향받는 시스템

parisc 아키텍처 기반 Linux 커널 (패치 이전의 모든 버전)

⚔️ 공격 벡터

시스템 콜(__get_user())을 통해 읽기 보호된 메모리 주소에 접근

🛡️ 대응 방법

Linux 커널 parisc 아키텍처용 패치 적용 (읽기 접근 권한 검증 기능 추가)

🔧 검증 코드

parisc 아키텍처면 해당 커널 버전의 패치 적용 상태를 확인해야 하며, 다른 아키텍처면 이 취약점의 영향을 받지 않습니다.

Shell / Script
uname -m | grep -q parisc && echo 'vulnerable architecture' || echo 'not parisc'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel