🇰🇷 한글 설명
Linux 커널의 alx 이더넷 드라이버에서 suspend/resume 시 rtnl_lock을 잡지 않아 RTNL 어설션이 실패하는 문제가 있습니다. 드라이버가 자체 잠금을 구현하고 있어 실질적 영향은 크지 않지만, 커널 경고 출력을 막기 위해 수정이 필요합니다.
💡 쉬운 설명
절전 모드에서 깨어날 때 네트워크 카드 드라이버가 커널의 내부 잠금을 잡지 않아 경고 메시지가 출력됩니다. 실제 기능에 큰 문제는 없지만 커널이 이를 오류로 기록합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
eth: alx: take rtnl_lock on resume
Zbynek reports that alx trips an rtnl assertion on resume:
RTNL: assertion failed at net/core/dev.c (2891)
RIP: 0010:netif_set_real_num_tx_queues+0x1ac/0x1c0
Call Trace:
<TASK>
__alx_open+0x230/0x570 [alx]
alx_resume+0x54/0x80 [alx]
? pci_legacy_resume+0x80/0x80
dpm_run_callback+0x4a/0x150
device_resume+0x8b/0x190
async_resume+0x19/0x30
async_run_entry_fn+0x30/0x130
process_one_work+0x1e5/0x3b0
indeed the driver does not hold rtnl_lock during its internal close
and re-open functions during suspend/resume. Note that this is not
a huge bug as the driver implements its own locking, and does not
implement changing the number of queues, but we need to silence
the splat.
📍 영향받는 시스템
alx 이더넷 드라이버를 사용하는 Linux 커널 (수정 전 버전, Qualcomm Atheros AR81xx 계열 NIC 탑재 장비)
⚔️ 공격 벡터
원격 공격 경로는 확인되지 않으며, 절전 복귀 시 로컬에서 발생하는 커널 경고 및 버그 현상에 해당합니다.
🛡️ 대응 방법
커널을 해당 패치가 포함된 최신 안정 버전으로 업데이트하거나 배포판의 보안 업데이트를 적용하십시오.
🔧 검증 코드
커널 버전을 확인하고 alx 드라이버 사용 여부를 조회합니다; 출력된 커널 버전이 패치 적용 버전 이전이고 'Kernel driver in use: alx'가 보이면 영향 대상이며, 배포판 패키지 changelog로 패치 포함 여부를 확인하십시오.
uname -r && lspci -k 2>/dev/null | grep -A2 -i ethernet | grep -i alx