🇰🇷 한글 설명
Linux 커널의 bpf [lru_,]percpu_hash 맵 업데이트 과정에서 메모리 누수 취약점이 발견되었습니다. BPF_KPTR_{REF,PERCPU} 필드를 사용할 때 'bpf_obj_free_fields()' 호출이 누락되어, 맵이 해제될 때까지 참조된 메모리가 해제되지 않고 유지될 수 있습니다.
💡 쉬운 설명
리눅스 커널의 특정 기능을 사용할 때 사용이 끝난 메모리를 제대로 돌려주지 않는 문제가 있습니다. 이로 인해 시스템의 메모리가 계속 점유되어 성능 저하나 시스템 불안정을 초래할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bpf: Free special fields when update [lru_,]percpu_hash maps
As [lru_,]percpu_hash maps support BPF_KPTR_{REF,PERCPU}, missing
calls to 'bpf_obj_free_fields()' in 'pcpu_copy_value()' could cause the
memory referenced by BPF_KPTR_{REF,PERCPU} fields to be held until the
map gets freed.
Fix this by calling 'bpf_obj_free_fields()' after
'copy_map_value[,_long]()' in 'pcpu_copy_value()'.
📍 영향받는 시스템
BPF [lru_,]percpu_hash 맵을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
로컬 공격자가 특수하게 조작된 BPF 프로그램을 실행하여 메모리 누수를 유도
🛡️ 대응 방법
커널 패치를 적용하여 pcpu_copy_value() 함수 내에 bpf_obj_free_fields() 호출 추가
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 최신 보안 패치 버전인지 확인