🔍 CVE-2026-68289

0.0
CVSS Score
UNKNOWN
2026-08-10
2026-10-03 11:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 TIPC 프로토콜 구현 중 tipc_recvmsg() 및 tipc_recvstream() 함수에서 정수 오버플로 취약점이 발견되었습니다. buflen이 INT_MAX를 초과할 경우 음수로 변환되어 메모리 복사 과정에서 커널 패닉을 유발할 수 있습니다.

💡 쉬운 설명

데이터를 처리하는 과정에서 숫자가 너무 커져서 컴퓨터가 이를 마이너스 숫자로 잘못 인식하는 오류입니다. 이 오류가 발생하면 시스템이 갑자기 멈추거나 꺼질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: tipc: fix integer overflow in tipc_recvmsg() and tipc_recvstream() In tipc_recvmsg(), the copy length is computed as: copy = min_t(int, dlen - offset, buflen); buflen is size_t but min_t(int, ...) casts it to int. When buflen exceeds INT_MAX (e.g. 0xFFFFFFFF via io_uring provided buffers), it wraps negative, wins the comparison, and the negative copy length propagates to simple_copy_to_iter() where int-to-size_t promotion makes it SIZE_MAX, triggering a WARN_ON. tipc_recvstream() has the same pattern. Kernel panic - not syncing: kernel: panic_on_warn set ... RIP: 0010:simple_copy_to_iter+0x9e/0xd0 (net/core/datagram.c:521) Call Trace: __skb_datagram_iter+0x123/0x8b0 (net/core/datagram.c:402) skb_copy_datagram_iter+0x77/0x1a0 (net/core/datagram.c:534) tipc_recvmsg+0x3d7/0xe80 (net/tipc/socket.c:1934) io_recvmsg+0x47e/0xda0 Fix by changing min_t(int, ...) to min_t(size_t, ...) in both functions. The result is always <= (dlen - offset), which is bounded by TIPC maximum message size (0x1ffff bytes), so the implicit narrowing on assignment to int copy is always safe.

📍 영향받는 시스템

TIPC 프로토콜을 사용하는 Linux 커널 버전

⚔️ 공격 벡터

io_uring 등을 통해 매우 큰 버퍼 크기를 전달하여 정수 오버플로 유도

🛡️ 대응 방법

커널 패치를 적용하여 min_t 함수의 타입을 int에서 size_t로 변경

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 보안 패치가 적용된 최신 버전인지 확인합니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel