🇰🇷 한글 설명
Linux 커널의 binfmt_flat 구성 요소에서 32비트 시스템을 대상으로 하는 정수 오버플로 취약점이 발견되었습니다. relocs(재배치) 개수를 검증하지 않아 full_data 계산 시 잘못된 값이 산출될 수 있는 문제입니다.
💡 쉬운 설명
32비트 컴퓨터에서 특정 파일을 실행할 때 계산 오류가 발생하여 시스템이 오작동하거나 보안 문제가 생길 수 있는 결함입니다. 숫자가 너무 커져서 계산 결과가 엉뚱하게 바뀌는 현상을 이용합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
binfmt_flat: Fix integer overflow bug on 32 bit systems
Most of these sizes and counts are capped at 256MB so the math doesn't
result in an integer overflow. The "relocs" count needs to be checked
as well. Otherwise on 32bit systems the calculation of "full_data"
could be wrong.
full_data = data_len + relocs * sizeof(unsigned long);
📍 영향받는 시스템
32비트 아키텍처를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
조작된 binfmt_flat 실행 파일을 통해 정수 오버플로를 유발하는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력 결과가 '32-bit system detected'인 경우 해당 취약점에 노출될 가능성이 있는 환경입니다.
uname -m | grep -q 'i686\|arm\|armv7' && echo '32-bit system detected' || echo '64-bit system detected'