🇰🇷 한글 설명
리눅스 커널의 PFCP 네트워크 장치 설정 과정에서 per-cpu 통계(tstats) 메모리가 제대로 할당되지 않는 취약점입니다. 이로 인해 PFCP 장치 생성 시 통계 정보를 요청하면 NULL 포인터를 참조하게 되어 시스템 충돌이 발생할 수 있습니다.
💡 쉬운 설명
네트워크 장치를 만들 때 필요한 메모리 공간을 미리 예약하지 않아 발생하는 오류입니다. 이 오류를 이용하면 시스템이 갑자기 멈추거나 꺼질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: pfcp: allocate per-cpu tstats for PFCP netdevs
PFCP uses dev_get_tstats64() as its ndo_get_stats64 callback, but
pfcp_link_setup() does not request NETDEV_PCPU_STAT_TSTATS. The net
core therefore leaves dev->tstats NULL for PFCP devices.
Creating a PFCP rtnetlink device can immediately ask the new netdev for
stats while building the RTM_NEWLINK notification. That reaches
dev_get_tstats64() and dereferences the NULL dev->tstats pointer.
Set pcpu_stat_type to NETDEV_PCPU_STAT_TSTATS during PFCP link setup so
the net core allocates the storage expected by dev_get_tstats64().
📍 영향받는 시스템
PFCP(Packet Forwarding Control Protocol)를 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
로컬 사용자가 PFCP rtnetlink 장치를 생성하여 NULL 포인터 역참조를 유도함
🛡️ 대응 방법
PFCP 링크 설정 시 NETDEV_PCPU_STAT_TSTATS를 요청하도록 커널을 최신 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인