🇰🇷 한글 설명
리눅스 커널의 tcp_add_backlog() 함수에서 부호 있는 정수 오버플로(signed-integer-overflow) 취약점이 발견되었습니다. sk_rcvbuf와 sk_sndbuf를 더하는 과정에서 계산된 값이 int형의 최대 범위를 초과할 수 있는 문제입니다.
💡 쉬운 설명
컴퓨터가 숫자를 계산할 때 정해진 한계를 넘어가면서 계산 오류가 발생하는 문제입니다. 이로 인해 네트워크 통신 과정에서 예상치 못한 동작이나 시스템 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tcp: fix a signed-integer-overflow bug in tcp_add_backlog()
The type of sk_rcvbuf and sk_sndbuf in struct sock is int, and
in tcp_add_backlog(), the variable limit is caculated by adding
sk_rcvbuf, sk_sndbuf and 64 * 1024, it may exceed the max value
of int and overflow. This patch reduces the limit budget by
halving the sndbuf to solve this issue since ACK packets are much
smaller than the payload.
📍 영향받는 시스템
tcp_add_backlog() 함수를 사용하는 취약한 버전의 Linux Kernel
⚔️ 공격 벡터
특정 네트워크 패킷을 조작하여 송수신 버퍼 크기를 극단적으로 크게 설정함으로써 정수 오버플로 유도
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인