🇰🇷 한글 설명
Linux 커널의 bcmgenet 드라이버에서 RBUF_EEE_EN 및 RBUF_PM_EN 설정이 활성화될 경우 GENET 하드웨어의 수신(RX) 경로가 중단되는 취약점입니다. 이로 인해 네트워크 트래픽이 흐르지 않게 되며, 특정 보드에서는 메모리 페이지 폴트(paging fault)가 발생하여 시스템 충돌을 유발할 수 있습니다.
💡 쉬운 설명
네트워크 장치의 에너지 절약 기능이 켜지면 데이터가 들어와도 컴퓨터가 이를 제대로 받지 못해 인터넷이 끊기는 문제입니다. 심한 경우 시스템이 갑자기 멈추거나 오류를 일으킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: bcmgenet: keep RBUF EEE/PM disabled
Setting RBUF_EEE_EN | RBUF_PM_EN in RBUF_ENERGY_CTRL breaks the RX
path on GENET hardware once MAC EEE becomes active. RX traffic stops
flowing while the link stays up and the usual descriptor/RX error
counters remain quiet. In that state the MAC still accepts frames
(rbuf_ovflow_cnt keeps climbing) but RBUF no longer forwards them to
DMA, so rx_packets is no longer incremented at the netdev level. On
some boards the corruption ends up as a paging fault in
skb_release_data via bcmgenet_rx_poll on an LPI exit.
Reproduced on Pi 4B (BCM2711 + BCM54213PE) and confirmed by Florian
Fainelli on an internal Broadcom 4908-family board with the same crash
signature. RBUF_PM_EN is not publicly documented.
This shows up more often now that phy_support_eee() enables EEE by
default, but it also affects older kernels as soon as TX LPI is
turned on via ethtool, so it is not specific to recent changes.
Always clear RBUF_EEE_EN | RBUF_PM_EN in bcmgenet_eee_enable_set so
the bits stay off across resets. UMAC and TBUF setup is left alone so
TX-side EEE keeps working.
📍 영향받는 시스템
Broadcom GENET 하드웨어를 사용하는 Linux 커널 기반 시스템 (예: Raspberry Pi 4B 등)
⚔️ 공격 벡터
직접적인 원격 공격보다는 에너지 효율 기능(EEE) 활성화 시 발생하는 시스템 가용성 저해 및 서비스 거부(DoS) 형태의 영향
🛡️ 대응 방법
bcmgenet 드라이버에서 RBUF_EEE_EN 및 RBUF_PM_EN 비트를 명시적으로 비활성화하도록 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 최신 패치 버전인지 확인하십시오.