CVE-2026-98796 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 19.

리눅스 커널에서 다음 취약점이 해결되었습니다:

net: ethernet: mtk_eth_soc: 더 일찍 dummy netdev 할당하기

RX 링과 공유 NAPI는 내부 "dummy" netdev(eth->dummy_dev)에 의해 관리됩니다. mtk_probe() 함수는 MAC netdevs가 등록된 후에야 해당 dummy 장치를 생성하고, 공유 tx/rx NAPI를 그것에 추가합니다. 이러한 순서는 MT7623 지원이 추가될 때부터 존재해 왔으며, 공유 NAPI와 dummy device가 존재하기 전에 netdevs가 네트워크 코어에 노출되는 시간적 창(window)을 남깁니다.

만약 이 시간적 창 동안 첫 번째 netdev가 활성화되면(예: 인터페이스가 등록되자마자 netifd가 WAN 링크를 열 경우), 첫 번째 개방 경로(first-open path)는 해당 요소들 없이 실행됩니다. NETSYS v2 및 이후 SoCs에서 mtk_rx_alloc() -> __xdp_rxq_info_reg() 호출 시 eth->dummy_dev == NULL을 역참조(dereferences)하여 다음과 같은 경고가 발생합니다:

WARNING: CPU: ... Missing net_device from driver

net/core/xdp.c 파일 내에서 발생하며, mtk_open()은 -ENODEV로 실패합니다. NETSYS v1 SoCs(MT7621/MT7622/MT7623/MT7629)에는 페이지 풀(page pool)이 없으므로, 동일한 개방 과정(napi_enable())에서 netif_napi_add()가 아직 초기화하지 않은 napi_struct에 대해 호출하고 NULL인 napi->dev를 역참조합니다.

dummy netdev을 할당하고 register_netdev() 루프 전에 공유 tx/rx NAPI를 dummy device에 추가하십시오. 이제 dummy-할당 실패와 register_netdev() 실패 모두 mtk_unreg_dev()를 통해 언윈드(unwind)되며, 이는 등록되지 않은 net_device notifier들과 지금까지 등록된 netdevs를 unregister하고, dummy carrier가 해제되기 전에 동시에 개방된(netif_napi_add로 초기화되지 않은 상태의) netdev(ndo_stop)과 해당 NAPI를 중지합니다.

시간적 창 동안 열린 netdev은 프레임 엔진 리셋 워커(frame-engine reset worker, tx watchdog 또는 phylink를 통해 큐에 추가됨)도 가질 수 있으므로, probe 오류 경로에서는 공유 상태를 해제하기 전에 eth->pending_work를 취소합니다(이는 mtk_cleanup()이 remove 시 수행하는 작업과 동일함).

Once again VulDB remains the best source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-422040

EPSS

0.00168

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!