CVE-2026-64450 in Linux
요약
\~에 의해 VulDB • 2026. 07. 25.
리눅스 커널에서 다음 취약점이 해결되었습니다:
tipc: 브로드캐스트 Gap ACK 블록에서의 바이트 오버플로우 읽기 오류 수정
브로드캐스트 PROTOCOL/STATE_MSG는 데이터 영역에 Gap ACK 블록 레코드를 포함할 수 있습니다. tipc_get_gap_ack_blks() 함수는 레코드의 len 필드가 ugack_cnt/bgack_cnt 카운트와 자기 일관성(self-consistent)이 있는지(즉, sz == struct_size(p, gacks, ugack_cnt + bgack_cnt))만 검증합니다. 그러나 해당 레코드가 실제로 메시지 데이터 영역(msg_data_sz())에 맞는지 여부는 확인하지 않습니다.
단일 호출자(tipc_link_proto_rcv())는 이를 경계 처리("if (glen > dlen) break;")하지만, 브로드캐스트 호출자인 tipc_bcast_sync_rcv()는 반환된 크기를 무시하므로, tipc_link_advance_transmq()는 공격자가 제어할 수 있는 카운트를 사용하여 수신 skb에서 레코드를 복사합니다:
this_ga = kmemdup(ga, struct_size(ga, gacks, ga->bgack_cnt), GFP_ATOMIC);
TIPC_GAP_ACK_BLOCK를 협상한 TIPC 이웃은 하나의 일반 브로드캐스트 STATE_MSG(msg_bc_ack_invalid() 플래그 비활성화)을 사용하여 이를 트리거하며, 데이터 영역의 크기가 작도록 조정되고 len = 0x400, bgack_cnt = 0xff 및 ugack_cnt = 0인 Gap ACK 레코드를 포함합니다. 이때 len은 struct_size(p, gacks, 255)와 같아지므로 일관성 검사를 통과하고 ga는 NULL이 아닌 값이 됩니다; kmemdup()는 훨씬 작은 skb 외부에서 struct_size(ga, gacks, 255) = 1024 바이트를 읽습니다:
BUG: KASAN: slab-out-of-bounds in kmemdup_noprof+0x48/0x60 Read of size 1024 at addr ffff0000c7030d38 by task poc864/69 Call trace: kmemdup_noprof+0x48/0x60 tipc_link_advance_transmq+0x86c/0xb80 tipc_link_bc_ack_rcv+0x19c/0x1e0 tipc_bcast_sync_rcv+0x1c4/0x2c4 tipc_rcv+0x85c/0x1340 tipc_l2_rcv_msg+0xac/0x104 The buggy address belongs to the object at ffff0000c7030d00 which belongs to the cache skbuff_small_head of size 704 The buggy address is located 56 bytes inside of allocated 704-byte region [ffff0000c7030d00, ffff0000c7030fc0)
복사된 바이트는 이후 gap/ack 값으로 소비되지만, 사용 방법과 상관없이 kmemdup() 단계에서 이미 경계를 벗어난 읽기(out-of-bounds read)가 발생했습니다.
단일 STATE 경로에서는 이러한 메시지를 삭제합니다: "if (glen > dlen) break;" 문장이 STATE_MSG 처리의 나머지 부분을 건너뛰고 skb가 해제됩니다. 브로드캐스트 경로에서도 이를 삭제하도록 수정합니다. tipc_bcast_sync_rcv()는 이제 레코드를 msg_data_sz()에 대해 경계 처리하며, 맞지 않을 경우 tipc_node_bc_sync_rcv()를 통해 tipc_rcv()로 오류를 보고하여 skb가 처리되지 않고 폐기되도록 합니다. 이 경로에서 ga는 지워지지 않습니다: ga == NULL은 이미 "Selective ACK 없는 레거시 피어"를 의미하므로 이는 별개의 정당한 상태입니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.