🇰🇷 한글 설명
Linux 커널의 Aeroflex 이더넷 드라이버(greth)에서 netdev_ops를 PHY 연결 전에 설정하지 않아, CONFIG_NET_SHAPER가 활성화된 경우 프로브 과정에서 NULL 포인터 역참조로 커널이 충돌합니다. 이전에 emac 드라이버에서 같은 문제를 수정한 방식과 동일하게 PHY 연결 전에 netdev_ops를 할당하도록 변경하여 해결했습니다.
💡 쉬운 설명
특정 네트워크 장치 드라이버가 초기화 순서를 잘못 잡아서, 특정 커널 설정에서 장치를 켤 때 시스템이 멈추거나 재부팅될 수 있습니다. 초기화 순서를 바로잡아 이 충돌을 막는 수정입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: ethernet: aeroflex: move setting of netops to fix crash
greth_of_probe() calls greth_mdio_init(), which connects the PHY,
before dev->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 커널 중 Aeroflex GRETH 이더넷 드라이버를 포함한 빌드 (수정 커널 이전 버전)
⚔️ 공격 벡터
직접적인 원격 공격 경로는 확인되지 않으며, 주로 부팅/프로브 시 발생하는 안정성(크래시) 결함입니다.
🛡️ 대응 방법
패치가 포함된 최신 Linux 커널로 업데이트하거나 해당 배포판의 보안 업데이트를 적용합니다.
🔧 검증 코드
출력된 커널 버전이 해당 배포판의 수정 패치가 포함된 버전 이상인지 배포판 보안 공지나 changelog에서 확인하고, 필요하면 zcat /proc/config.gz | grep CONFIG_NET_SHAPER 로 설정 여부를 확인합니다.