🇰🇷 한글 설명
리눅스 커널의 padata 구성 요소에서 seq_nr 값이 2^32를 초과하여 정수 오버플로가 발생할 때, 정렬 로직 오류로 인해 데드락(교착 상태)이 발생할 수 있는 취약점입니다. 이로 인해 시스템의 직렬화 프로세스가 중단되어 서비스 불능 상태에 빠질 수 있습니다. 이를 해결하기 위해 부호 없는 정수 순환(unsigned integer wrap around) 방식을 사용하여 정렬 로직을 수정하였습니다.
💡 쉬운 설명
컴퓨터가 숫자를 세다가 숫자가 너무 커져서 다시 0으로 돌아가는 현상이 발생할 때, 순서를 잘못 계산하여 시스템이 멈춰버리는 문제입니다. 이로 인해 컴퓨터가 아무런 작업도 하지 못하고 먹통이 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
padata: use integer wrap around to prevent deadlock on seq_nr overflow
When submitting more than 2^32 padata objects to padata_do_serial, the
current sorting implementation incorrectly sorts padata objects with
overflowed seq_nr, causing them to be placed before existing objects in
the reorder list. This leads to a deadlock in the serialization process
as padata_find_next cannot match padata->seq_nr and pd->processed
because the padata instance with overflowed seq_nr will be selected
next.
To fix this, we use an unsigned integer wrap around to correctly sort
padata objects in scenarios with integer overflow.
📍 영향받는 시스템
padata 모듈을 사용하는 리눅스 커널 버전 (정확한 버전은 커널 패치 내역 참조)
⚔️ 공격 벡터
2^32개 이상의 padata 객체를 padata_do_serial에 제출하여 의도적으로 정수 오버플로 유도
🛡️ 대응 방법
정수 오버플로를 올바르게 처리하도록 수정된 최신 리눅스 커널로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인