🔍 CVE-2024-47735

5.5
CVSS Score
MEDIUM
2024-10-21
2026-10-15 01:18
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 RDMA/HNS 드라이버에서 spinlock 함수를 잘못 사용하는 취약점입니다. spin_lock_irqsave()로 획득한 락을 spin_unlock_irq()로 해제하면서 IRQ 상태 관리가 틀어져 시스템 안정성 문제를 야기합니다.

💡 쉬운 설명

Huawei RoCE 네트워크 카드 드라이버에서 멀티태스킹 제어 메커니즘을 잘못 사용해 시스템이 불안정해질 수 있습니다. 이는 주로 시스템 초기화 과정에서 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: RDMA/hns: Fix spin_unlock_irqrestore() called with IRQs enabled Fix missuse of spin_lock_irq()/spin_unlock_irq() when spin_lock_irqsave()/spin_lock_irqrestore() was hold. This was discovered through the lock debugging, and the corresponding log is as follows: raw_local_irq_restore() called with IRQs enabled WARNING: CPU: 96 PID: 2074 at kernel/locking/irqflag-debug.c:10 warn_bogus_irq_restore+0x30/0x40 ... Call trace: warn_bogus_irq_restore+0x30/0x40 _raw_spin_unlock_irqrestore+0x84/0xc8 add_qp_to_list+0x11c/0x148 [hns_roce_hw_v2] hns_roce_create_qp_common.constprop.0+0x240/0x780 [hns_roce_hw_v2] hns_roce_create_qp+0x98/0x160 [hns_roce_hw_v2] create_qp+0x138/0x258 ib_create_qp_kernel+0x50/0xe8 create_mad_qp+0xa8/0x128 ib_mad_port_open+0x218/0x448 ib_mad_init_device+0x70/0x1f8 add_client_context+0xfc/0x220 enable_device_and_get+0xd0/0x140 ib_register_device.part.0+0xf4/0x1c8 ib_register_device+0x34/0x50 hns_roce_register_device+0x174/0x3d0 [hns_roce_hw_v2] hns_roce_init+0xfc/0x2c0 [hns_roce_hw_v2] __hns_roce_hw_v2_init_instance+0x7c/0x1d0 [hns_roce_hw_v2] hns_roce_hw_v2_init_instance+0x9c/0x180 [hns_roce_hw_v2]

📍 영향받는 시스템

Linux kernel RDMA/HNS (hns_roce_hw_v2) 드라이버를 탑재한 Huawei RoCE InfiniBand 어댑터

⚔️ 공격 벡터

Local - QP 생성 시 spinlock 오류로 인해 로컬 시스템 사용자가 커널 경고 및 불안정성 유발 가능

🛡️ 대응 방법

Linux 커널을 패치된 버전으로 업그레이드하거나 spin_unlock_irqrestore() 호출로 수정된 커널 빌드 적용

🔧 검증 코드

커널 버전 확인 후 HNS RoCE 드라이버의 로드 여부를 확인합니다. 드라이버가 있고 커널이 4.19 이후면 배포본에서 제공하는 최신 커널 패치 설치 확인 필요

Shell / Script
uname -r && grep -q 'hns_roce' /lib/modules/$(uname -r)/modules.builtin && echo 'HNS RoCE loaded' || echo 'Not loaded'

📊 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