🔍 CVE-2025-21650

7.1
CVSS Score
HIGH
2025-01-19
2026-10-21 13:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 hns3 네트워크 드라이버에서 TQP BAR 공간 접근 시 경계 검사가 누락되어 발생하는 취약점입니다. TQP 개수가 1024개를 초과할 경우, 서로 다른 세그먼트의 주소를 구분하지 못해 잘못된 메모리 영역에 접근함으로써 커널 패닉(paging request error)을 유발할 수 있습니다.

💡 쉬운 설명

네트워크 장치의 메모리 주소를 계산할 때 범위를 잘못 지정하여 시스템이 멈추거나 오류가 발생하는 문제입니다. 특정 조건에서 장치가 사용하는 메모리 영역을 벗어나 잘못된 곳을 건드리는 현상입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: hns3: fixed hclge_fetch_pf_reg accesses bar space out of bounds issue The TQP BAR space is divided into two segments. TQPs 0-1023 and TQPs 1024-1279 are in different BAR space addresses. However, hclge_fetch_pf_reg does not distinguish the tqp space information when reading the tqp space information. When the number of TQPs is greater than 1024, access bar space overwriting occurs. The problem of different segments has been considered during the initialization of tqp.io_base. Therefore, tqp.io_base is directly used when the queue is read in hclge_fetch_pf_reg. The error message: Unable to handle kernel paging request at virtual address ffff800037200000 pc : hclge_fetch_pf_reg+0x138/0x250 [hclge] lr : hclge_get_regs+0x84/0x1d0 [hclge] Call trace: hclge_fetch_pf_reg+0x138/0x250 [hclge] hclge_get_regs+0x84/0x1d0 [hclge] hns3_get_regs+0x2c/0x50 [hns3] ethtool_get_regs+0xf4/0x270 dev_ethtool+0x674/0x8a0 dev_ioctl+0x270/0x36c sock_do_ioctl+0x110/0x2a0 sock_ioctl+0x2ac/0x530 __arm64_sys_ioctl+0xa8/0x100 invoke_syscall+0x4c/0x124 el0_svc_common.constprop.0+0x140/0x15c do_el0_svc+0x30/0xd0 el0_svc+0x1c/0x2c el0_sync_handler+0xb0/0xb4 el0_sync+0x168/0x180

📍 영향받는 시스템

hns3 드라이버를 사용하는 Linux 커널 시스템 (TQP 개수가 1024개 초과 시)

⚔️ 공격 벡터

로컬 권한을 가진 사용자가 ethtool 등을 통해 네트워크 레지스터 정보를 요청할 때 발생 가능

🛡️ 대응 방법

hns3 드라이버의 TQP 세그먼트 구분 로직이 수정된 최신 Linux 커널로 업데이트

🔧 검증 코드

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

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:N/A:H

💻 영향받는 소프트웨어

Linux Kernel