🇰🇷 한글 설명
Linux 커널의 hisilicon hip04_eth 드라이버에서, hip04_mac_probe()가 ndev->netdev_ops를 할당하기 전에 of_phy_connect()를 호출하는 문제가 해결되었습니다. CONFIG_NET_SHAPER가 활성화된 경우 PHY 연결 시 NULL 포인터 역참조로 프로브가 크래시될 수 있었으며, netdev_ops를 PHY 연결 이전에 설정하도록 수정되었습니다.
💡 쉬운 설명
일부 ARM 기반 네트워크 장치의 드라이버가 시작 과정에서 잘못된 순서로 설정을 진행해 시스템이 멈출 수 있었습니다. 설정 순서를 바로잡아 이 문제가 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: hisilicon: hip04_eth: Move setting of netops to fix crash
hip04_mac_probe() calls of_phy_connect() before ndev->netdev_ops is
assigned. phy_attach_direct() -> phy_link_topo_add_phy() reads
dev->netdev_ops through netdev_need_ops_lock() since the commit in
question, so probing crashes with a NULL pointer dereference when
CONFIG_NET_SHAPER is enabled.
Assign netdev_ops before the PHY attach, as was done for emac in commit
7c9f391ec89c ("net: emac: move setting of netops to fix crash").
📍 영향받는 시스템
CONFIG_NET_SHAPER가 활성화된 Linux 커널 중 hisilicon hip04_eth 드라이버를 사용하는 시스템 (HiSilicon 하드웨어 기반 장비)
⚔️ 공격 벡터
원격 공격 경로는 명확하지 않으며, 드라이버 초기화 시 발생하는 커널 크래시(서비스 거부) 문제로 보임
🛡️ 대응 방법
수정이 포함된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 수정 패치가 포함된 버전 이상인지 확인하고, hip04 모듈 로드 여부로 해당 드라이버 사용 여부를 판단
uname -r && grep -i hip04 /proc/modules 2>/dev/null