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.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-383255

EPSS

0.00537

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!