🇰🇷 한글 설명
Linux 커널의 net: phy: sfp 구성 요소에서 SFP 모듈 제거 시 메모리 누수가 발생하는 취약점입니다. sfp_i2c_mdiobus_destroy 함수가 할당된 mii_bus를 해제하지 않고 참조를 삭제하여 시스템 자원이 낭비됩니다.
💡 쉬운 설명
특정 네트워크 부품(SFP 모듈)을 제거할 때, 컴퓨터가 사용했던 메모리를 제대로 돌려받지 못하고 계속 쌓아두는 문제입니다. 이 현상이 반복되면 시스템의 메모리가 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: phy: sfp: free mii_bus in sfp_i2c_mdiobus_destroy
sfp_i2c_mdiobus_create() allocates the I2C MDIO bus with mdio_i2c_alloc(),
a plain (non-devm) allocation, and registers it. sfp_i2c_mdiobus_destroy()
only unregisters the bus and clears sfp->i2c_mii without calling
mdiobus_free(). As the only reference to the bus is then cleared, the
struct mii_bus is leaked.
This is hit whenever a copper/RollBall SFP module that instantiated an MDIO
bus is removed: sfp_sm_main() takes the global teardown path and calls
sfp_i2c_mdiobus_destroy(). sfp_cleanup(), on driver unbind, frees
sfp->i2c_mii directly, which is why the leak only triggered on module
hot-removal and not on unbind.
Free the bus in sfp_i2c_mdiobus_destroy() to match the allocation done in
sfp_i2c_mdiobus_create().
📍 영향받는 시스템
Linux kernel (SFP 관련 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
물리적 또는 소프트웨어적인 SFP 모듈의 빈번한 탈착(Hot-removal)을 통한 자원 고갈 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 mdiobus_free() 호출이 포함된 수정 사항을 반영해야 합니다.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인합니다.