🇰🇷 한글 설명
리눅스 커널의 netfilter 구성 요소인 nf_set_pipapo에서 초기 맵 채우기 과정 중 버퍼 초기화 오류가 발견되었습니다. 첫 번째 필드의 크기가 최대 크기보다 작을 경우 비트 정보가 유출되어 잘못된 매칭 결과가 발생할 수 있는 취약점입니다.
💡 쉬운 설명
네트워크 규칙을 관리하는 리눅스 커널의 특정 기능에서 데이터 처리 오류가 발생합니다. 이로 인해 네트워크 차단 규칙이 제대로 작동하지 않거나 잘못된 데이터가 통과될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nf_set_pipapo: fix initial map fill
The initial buffer has to be inited to all-ones, but it must restrict
it to the size of the first field, not the total field size.
After each round in the map search step, the result and the fill map
are swapped, so if we have a set where f->bsize of the first element
is smaller than m->bsize_max, those one-bits are leaked into future
rounds result map.
This makes pipapo find an incorrect matching results for sets where
first field size is not the largest.
Followup patch adds a test case to nft_concat_range.sh selftest script.
Thanks to Stefano Brivio for pointing out that we need to zero out
the remainder explicitly, only correcting memset() argument isn't enough.
📍 영향받는 시스템
nf_set_pipapo 모듈을 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
조작된 네트워크 패킷 또는 설정값을 통해 pipapo 매핑 알고리즘의 논리적 오류를 유발
🛡️ 대응 방법
해당 취약점이 수정된 최신 리눅스 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 보안 업데이트 버전인지 확인