🇰🇷 한글 설명
Linux 커널의 BPF(Berkeley Packet Filter) 구성 요소에서 음수 목적지 레지스터에 대한 마스킹 부정 논리에 오류가 발견되었습니다. 이 오류로 인해 포인터 산술 연산 시 잘못된 결과가 발생할 수 있으며, 이를 해결하기 위해 비트 연산 및 레지스터 이동 로직이 수정되었습니다.
💡 쉬운 설명
컴퓨터가 계산을 할 때 숫자를 뒤집는 과정에서 실수가 발생하는 보안 약점입니다. 이 실수를 이용하면 공격자가 시스템의 메모리 계산을 방해하거나 잘못된 위치를 참조하게 만들 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix masking negation logic upon negative dst register
The negation logic for the case where the off_reg is sitting in the
dst register is not correct given then we cannot just invert the add
to a sub or vice versa. As a fix, perform the final bitwise and-op
unconditionally into AX from the off_reg, then move the pointer from
the src to dst and finally use AX as the source for the original
pointer arithmetic operation such that the inversion yields a correct
result. The single non-AX mov in between is possible given constant
blinding is retaining it as it's not an immediate based operation.
📍 영향받는 시스템
BPF를 사용하는 Linux 커널 버전 (패치 적용 전 버전)
⚔️ 공격 벡터
조작된 BPF 프로그램을 로드하여 커널의 포인터 산술 연산 오류를 유도하는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 버전인지 확인합니다.