🇰🇷 한글 설명
Linux 커널의 BPF 구현에서 vxlan 터널을 통한 패킷 전달 시 metadata_dst 객체가 적절히 해제되지 않는 메모리 누수 취약점이 발견되었습니다. Cilium의 BPF egress gateway 기능을 사용할 때 kmalloc-256 슬랩 사용량이 지속적으로 증가하여 시스템 자원을 고갈시킬 수 있습니다.
💡 쉬운 설명
네트워크 데이터를 전달하는 과정에서 사용한 메모리를 제대로 돌려주지 않아 컴퓨터의 메모리가 계속 차오르는 문제입니다. 이 현상이 지속되면 시스템이 느려지거나 결국 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix metadata_dst leak __bpf_redirect_neigh_v{4,6}
Cilium has a BPF egress gateway feature which forces outgoing K8s Pod
traffic to pass through dedicated egress gateways which then SNAT the
traffic in order to interact with stable IPs outside the cluster.
The traffic is directed to the gateway via vxlan tunnel in collect md
mode. A recent BPF change utilized the bpf_redirect_neigh() helper to
forward packets after the arrival and decap on vxlan, which turned out
over time that the kmalloc-256 slab usage in kernel was ever-increasing.
The issue was that vxlan allocates the metadata_dst object and attaches
it through a fake dst entry to the skb. The latter was never released
though given bpf_redirect_neigh() was merely setting the new dst entry
via skb_dst_set() without dropping an existing one first.
📍 영향받는 시스템
bpf_redirect_neigh() 헬퍼 함수를 사용하는 Linux 커널 및 Cilium BPF egress gateway 기능을 사용하는 환경
⚔️ 공격 벡터
직접적인 공격보다는 특정 네트워크 트래픽 패턴을 지속적으로 발생시켜 시스템 메모리를 고갈시키는 DoS(서비스 거부) 형태의 공격 가능성
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 릴리스 버전인지 확인하십시오.