CVE-2022-49926 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 29.

리눅스 커널에서 다음 취약점이 해결되었습니다:

net: dsa: dsa_loop_init()의 가능한 메모리 누수 수정

kmemleak가 dsa_loop_init()에서 메모리 누수를 보고했습니다:

kmemleak: 12개의 새로운 의심스러운 메모리 누수 발견

미사용 객체 0xffff8880138ce000 (크기 2048): comm "modprobe", pid 390, jiffies 4295040478 (나이 238.976초) 백트레이스: [] kmalloc_trace+0x26/0x60
[] phy_device_create+0x5d/0x970
[] get_phy_device+0xf3/0x2b0
[] __fixed_phy_register.part.0+0x92/0x4e0
[] fixed_phy_register+0x84/0xb0
[] dsa_loop_init+0xa9/0x116 [dsa_loop]
...

dsa_loop_init()에서 메모리 누수가 발생하는 이유는 두 가지입니다.

첫째, fixed_phy_register()는 phy_device를 생성하고 등록합니다:

fixed_phy_register() get_phy_device() phy_device_create() # phy_device_free()에 의해 해제됨 phy_device_register() # phy_device_remove()에 의해 해제됨

하지만 fixed_phy_unregister()는 phy_device_remove()만 호출합니다. 따라서 phy_device_create()에서 할당된 메모리가 누수됩니다.

둘째, dsa_loop_init()에서 mdio_driver_register()가 실패할 경우, 단순히 반환하며 phydevs에 대한 정리 작업이 없습니다.

dsa_loop_init()에서 mdio_driver_register()의 오류를 포착한 후, phy_device_free()와 fixed_phy_unregister()를 모두 호출하여 phydevs를 해제함으로써 문제를 해결합니다. 또한 중복을 피하기 위해 phydevs 정리를 위한 함수도 추가했습니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

Linux

예약하다

2025. 05. 01.

모더레이션

수락

항목

VDB-307069

EPSS

0.00155

출처

Do you know our Splunk app?

Download it now for free!