🇰🇷 한글 설명
Linux 커널의 ixp4xx_hss 드라이버에서 HDLC 네트워크 장치를 중복 할당하는 취약점이 발견되었습니다. 이로 인해 장치 제거 시 등록된 객체와 해제되는 객체가 일치하지 않으며, 할당 실패 시 메모리 누수가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 네트워크 장치를 만들 때 똑같은 것을 두 번 만드는 실수를 하여, 나중에 장치를 끌 때 제대로 정리하지 못하거나 메모리를 낭비하게 됩니다. 이로 인해 시스템이 불안정해지거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: ixp4xx_hss: fix duplicate HDLC netdev allocation
ixp4xx_hss_probe() allocates two HDLC netdevs. The first one is stored
in ndev, initialized, and registered with register_hdlc_device(). The
second one is stored in port->netdev and later used by the remove path
for unregister_hdlc_device() and free_netdev().
This means that the registered netdev is not the same object that is
unregistered and freed on remove. It also leaks the first allocation if
the second alloc_hdlcdev() call fails, and the first allocation is not
checked before ndev is used.
Older code allocated the HDLC netdev only once and stored the same object
in both the local variable and port->netdev. The buggy conversion split
this into two alloc_hdlcdev() calls. A later rename changed the local
variable name to ndev, but the underlying mismatch remained.
Fix this by allocating the HDLC netdev only once and assigning the same
object to port->netdev.
📍 영향받는 시스템
Linux kernel (ixp4xx_hss driver module)
⚔️ 공격 벡터
로컬 공격자가 특정 하드웨어 드라이버의 할당 로직을 유도하여 메모리 누수 또는 시스템 불안정 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 HDLC 장치 할당 로직을 수정해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.