CVE-2026-98549 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 19.

리눅스 커널에서 다음 취약점이 해결되었습니다:

tcp: rtx 큐 내 경계 간 skbs 병합 방지

tcp_write_collapse_fence()는 tcp_write_queue_tail(sk)에서 TCP_SKB_CB(skb)->eor = 1을 설정하여, 장치 암호화 전환 이후에 대기열에 추가된 skbs가 이전 skbs와 병합되는 것을 방지합니다.

전환 시점에 모든 이전 데이터가 이미 전송된 경우(즉, sk->sk_write_queue이 비어 있는 경우) 이 fence는 무작위 연산(no-op)입니다. 아직 확인되지 않은(skbs acknowledged not received) 이전 skbs는 eor 0 상태로 sk->tcp_rtx_queue에 대기합니다.

후속 재전송 또는 SACK 이동 시, tcp_retrans_try_collapse() 또는 tcp_shift_skb_data()가 전환 이후에 추가된 skb를 그 이전에 추가된 하나의 skb와 병합할 수 있습니다.

이 fence의 두 가지 사용 사례 모두 영향을 받습니다:

- psp: 장치는 skb->decrypted 플래그가 설정된 skbs만 암호화합니다. 병합된 skb는 이전 skb에서 가져온 decrypted = 0 상태를 유지하므로, psp_sock_assoc_set_tx() 이후에 전송되는 데이터가 평문으로 재전송됩니다. - tls 장치 오프로드: 병합된 skb는 tls_set_device_offload()에서 설정된 시작 마커를 가로지릅니다. 소프트웨어 폴백(fill_sg_in()이 -EINVAL 반환) 및 mlx5, nfp, funeth 드라이버는 이러한 skbs를 처리하지 못하고 이를 드롭(drop)합니다. 모든 재전송 시 동일한 skb가 다시 생성되므로 연결이 중단됩니다(stalls).

방어 심화(defense in depth) 차원에서 다음 두 곳에서 이 문제를 수정합니다:

1. tcp_write_collapse_fence()에서 tcp_write_queue_tail(sk)가 NULL인 경우, tcp_rtx_queue_tail(sk)로 폴백합니다. 2. tcp_skb_can_collapse_rx()가 수신 시 수행하는 것처럼 tcp_skb_can_collapse() 내에서 !skb_cmp_decrypted(to, from)를 확인합니다. 두 병합 경로 모두에서 호출되는 skb_shift()는 이미 이 조건에 대해 DEBUG_NET_WARN_ON_ONCE()를 가지고 있습니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-422050

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!