🇰🇷 한글 설명
Linux 커널의 hns3 네트워크 드라이버에서 리셋 과정 중 TC(Traffic Control)를 설정할 때 데드락(Deadlock)이 발생할 수 있는 취약점입니다. 리셋 프로세스가 진행되는 동안 포트 상태가 비정상적으로 UP 상태가 되어 NAPI 활성화/비활성화 과정에서 충돌이 발생합니다. 이를 해결하기 위해 UINIT 과정에 DOWN 프로세스를 추가하여 상태 동기화를 보장하도록 수정되었습니다.
💡 쉬운 설명
네트워크 장치를 초기화하는 도중에 설정 명령이 동시에 들어가면 시스템이 서로의 응답을 기다리며 멈춰버리는 현상이 발생할 수 있습니다. 이로 인해 네트워크 연결이 끊기거나 시스템이 응답하지 않을 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: hns3: fix a deadlock problem when config TC during resetting
When config TC during the reset process, may cause a deadlock, the flow is
as below:
pf reset start
│
▼
......
setup tc │
│ ▼
▼ DOWN: napi_disable()
napi_disable()(skip) │
│ │
▼ ▼
...... ......
│ │
▼ │
napi_enable() │
▼
UINIT: netif_napi_del()
│
▼
......
│
▼
INIT: netif_napi_add()
│
▼
...... global reset start
│ │
▼ ▼
UP: napi_enable()(skip) ......
│ │
▼ ▼
...... napi_disable()
In reset process, the driver will DOWN the port and then UINIT, in this
case, the setup tc process will UP the port before UINIT, so cause the
problem. Adds a DOWN process in UINIT to fix it.
📍 영향받는 시스템
hns3 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
로컬 권한을 가진 사용자가 네트워크 설정(TC)을 변경하여 리셋 프로세스와 충돌을 유도할 수 있음
🛡️ 대응 방법
hns3 드라이버의 데드락 수정 사항이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인