🇰🇷 한글 설명
Linux 커널의 ndisc_router_discovery() 함수에서 특정 경로 실행 시 neigh 객체의 참조 카운트가 감소되지 않아 메모리 누수가 발생할 수 있는 문제입니다. 수정은 기존 neigh의 참조 카운트를 제자리에서 감소시키는 방식으로 이루어졌습니다.
💡 쉬운 설명
리눅스 커널의 네트워크 라우터 탐색 기능에서 사용이 끝난 메모리를 제대로 반환하지 않는 버그입니다. 장시간 실행 시 메모리가 조금씩 낭비되어 시스템 성능이 저하될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: fix potential refcount leak in ndisc_router_discovery()
The issue happens on specific paths in the function. After both the
object `rt` and `neigh` are grabbed successfully, when `lifetime` is
nonzero but the metric needs change, the function just deletes the
route and set `rt` to NULL. Then, it may try grabbing `rt` and `neigh`
again if above conditions hold. The function simply overwrite `neigh`
if succeeds or returns if fails, without decreasing the reference
count of previous `neigh`. This may result in memory leaks.
Fix it by decrementing the reference count of `neigh` in place.
📍 영향받는 시스템
패치 이전의 Linux 커널 (IPv6 네트워크 기능을 사용하는 시스템)
⚔️ 공격 벡터
주로 메모리 누수로 인한 서비스 거부 상황을 유발할 수 있으며, 로컬 또는 인접 네트워크에서 라우터 광고 패킷을 반복 유도하는 방식으로 악용될 가능성이 있습니다.
🛡️ 대응 방법
배포판 벤더가 제공하는 최신 커널 보안 업데이트를 설치하고 시스템을 재부팅하십시오.
🔧 검증 코드
출력된 커널 버전을 배포판의 보안 권고문에 명시된 수정 버전과 비교하여, 현재 버전이 패치된 버전 이상이면 해당 취약점이 수정된 것입니다.