CVE-2026-72020 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 15.

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

ipvs: ip_vs_conn_new()에서 전체 ip_vs_seq 구조체를 초기화함

커밋 9a05475cebdd("ipvs: ip_vs_conn_new에서 kmem_cache_zalloc 피하기")는 ip_vs_conn_new() 함수가 kmem_cache_alloc()을 사용하여 ip_vs_conn 객체를 할당하도록 변경했습니다. 이 함수는 이후 여러 필드를 명시적으로 초기화하지만, 두 개의 struct ip_vs_seq 멤버 중 in_seq.delta와 out_seq.delta만 재설정합니다.

그 결과 init_seq 및 previous_delta가 초기화되지 않은 상태로 남습니다. 이는 일반적으로 IP_VS_CONN_F_IN_SEQ 또는 IP_VS_CONN_F_OUT_SEQ 플래그가 설정되어 있지 않으면 무해하게 동작합니다. 그러나 동기화 메시지로부터 학습된 연결의 경우, ip_vs_proc_conn()은 해당 플래그를 IP_VS_CONN_F_BACKUP_MASK에서 보존하고, 메시지에 IPVS_OPT_SEQ_DATA가 누락되면 opt=NULL을 전달합니다. 이 경우 새 연결이 SEQ 플래그는 설정된 상태로 해시되지만 in_seq/out_seq의 나머지 부분은 여전히 슬랩(slab) 메모리의 이전 데이터를 포함하게 됩니다.

나중에 이러한 연결에 대한 패킷이 IPVS 애플리케이션 헬퍼에서 처리될 때, vs_fix_seq() 및 vs_fix_ack_seq() 함수는 previous_delta와 init_seq를 사용하여 TCP 시퀀스 번호를 다시 작성합니다. 따라서 잘못된 형식의 동기화 메시지는 전달된 패킷의 TCP seq/ack 번호에 슬랩 메모리의 이전 데이터를 포함시키거나, 전달되는 TCP 흐름을 손상시킬 수 있습니다.

연결이 게시되기 전에 struct ip_vs_seq 멤버 전체를 완전히 재설정하십시오. 이는 기존 "struct ip_vs_seq 초기화" 주석과 일치하며, 유효한 시퀀스 데이터가 나중에 설치될 때까지 시퀀스 조정 게이트를 비활성 상태로 유지합니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!