🇰🇷 한글 설명
Inspektor Gadget 0.50.1 이전 버전에서 링 버퍼가 가득 찼을 때 이벤트가 알림 없이 누락되는 취약점이 존재합니다. 공격자가 의도적으로 대량의 이벤트를 생성하여 버퍼를 채우면, 다른 컨테이너에서 발생하는 중요한 시스템 이벤트가 손실되어 서비스 거부(DoS) 상태가 될 수 있습니다.
💡 쉬운 설명
시스템의 기록 저장소가 꽉 찼을 때 새로운 기록을 버리는 문제가 있습니다. 나쁜 사용자가 저장소를 가짜 정보로 가득 채우면, 정작 중요한 보안 기록들이 저장되지 않고 사라지게 됩니다.
🇺🇸 원문 (English)
Inspektor Gadget is a set of tools and framework for data collection and system inspection on Kubernetes clusters and Linux hosts using eBPF. Prior to 0.50.1, in a situation where the ring-buffer of a gadget is – incidentally or maliciously – already full, the gadget will silently drop events. The include/gadget/buffer.h file contains definitions for the Buffer API that gadgets can use to, among the other things, transfer data from eBPF programs to userspace. For hosts running a modern enough Linux kernel (>= 5.8), this transfer mechanism is based on ring-buffers. The size of the ring-buffer for the gadgets is hard-coded to 256KB. When a gadget_reserve_buf fails because of insufficient space, the gadget silently cleans up without producing an alert. The lost count reported by the eBPF operator, when using ring-buffers – the modern choice – is hardcoded to zero. The vulnerability can be used by a malicious event source (e.g. a compromised container) to cause a Denial Of Service, forcing the system to drop events coming from other containers (or the same container). This vulnerability is fixed in 0.50.1.
📍 영향받는 시스템
Inspektor Gadget version < 0.50.1 (Linux kernel 5.8 이상 환경)
⚔️ 공격 벡터
침해된 컨테이너 등을 통해 대량의 이벤트를 발생시켜 링 버퍼를 고갈시킴
🛡️ 대응 방법
Inspektor Gadget을 0.50.1 버전 이상으로 업데이트
🔧 검증 코드
출력된 버전 숫자가 0.50.1보다 낮으면 취약한 상태이며, 0.50.1 이상이면 조치된 상태입니다.
igz version | grep -E 'v[0-9]+\.[0-9]+\.[0-9]+'