🇰🇷 한글 설명
리눅스 커널의 PHY 네트워크 드라이버에서, 드라이버가 없는 PHY에 대해 generic PHY 드라이버가 로드될 때 LED를 등록·해제하면서 rtnl_lock을 중복 획득하는 데드락이 발생할 수 있습니다. 해당 조건은 결정적으로 재현되며, 수정은 generic PHY에 대해 LED 등록을 하지 않도록 변경하는 것입니다.
💡 쉬운 설명
네트워크 장치를 끌 때 내부 잠금이 두 번 걸려 시스템이 멈출 수 있는 문제입니다. 일반 네트워크 칩에는 LED 기능이 없으므로 LED 등록을 건너뛰도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: phy: Don't register LEDs for genphy
If a PHY has no driver, the genphy driver is probed/removed directly in
phy_attach/detach. If the PHY's ofnode has an "leds" subnode, then the
LEDs will be (un)registered when probing/removing the genphy driver.
This could occur if the leds are for a non-generic driver that isn't
loaded for whatever reason. Synchronously removing the PHY device in
phy_detach leads to the following deadlock:
rtnl_lock()
ndo_close()
...
phy_detach()
phy_remove()
phy_leds_unregister()
led_classdev_unregister()
led_trigger_set()
netdev_trigger_deactivate()
unregister_netdevice_notifier()
rtnl_lock()
There is a corresponding deadlock on the open/register side of things
(and that one is reported by lockdep), but it requires a race while this
one is deterministic.
Generic PHYs do not support LEDs anyway, so don't bother registering
them.
📍 영향받는 시스템
패치 이전의 Linux 커널 (해당 net/phy 변경이 포함된 버전, 커널 패치 목록 확인 필요)
⚔️ 공격 벡터
로컬 또는 드라이버 구성 상황에서 네트워크 인터페이스를 닫는 동작이 발생할 때 커널 데드락으로 인한 서비스 중단(DoS)을 유발할 수 있음
🛡️ 대응 방법
배포판에서 제공하는 CVE-2025-38537 수정이 포함된 최신 커널로 업데이트 후 재부팅
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지와 대조하여 CVE-2025-38537 수정이 포함된 패키지 버전인지 확인하며, 배포판 보안 추적기에서 해당 커널 패키지의 수정 여부를 확인합니다.