CVE-2026-80615 in Linux
요약
\~에 의해 VulDB • 2026. 08. 28.
Linux 커널에서 다음 취약점이 해결되었습니다:
net: dst_metadata: tun_dst_unclone에서의 잘못된 memcpy 오버플로우(False-positive) 수정
metadata_dst_alloc() 내의 kmalloc_flex()는 구조체의 __counted_by를 options_len으로 설정하며, 이 값은 이후 0으로 초기화됩니다. 나중에 터널 정보와 옵션을 함께 복사하여 구조체를 초기화할 때, 컴파일러가 옵션이 구조체에 맞지 않는다고 추정하기 때문에(실제로 메모리는 할당되었음에도) 잠재적인 memcpy 오버플로우에 대한 경고가 발생합니다.
memcpy: buffer overflow 감지됨: 버퍼 크기 96바이트 중 104바이트 쓰기 WARNING: CPU: X PID: Y at lib/string_helpers.c:1036 __fortify_report skb_tunnel_info_unclone+0x179/0x190 geneve_xmit+0x7fe/0xe00
이 문제는 clang과 소스 fortification을 사용하여 빌드할 때 발생합니다.
복사를 두 단계로 수행하여 이를 수정합니다: 먼저 options_len을 포함한 주요 데이터를 복사한 후, 그 다음에 옵션을 복사합니다. 이렇게 하면 복사 시점에 올바른 길이를 알 수 있습니다.
options_len이 할당 이후 변경되지 않는 것이 더 좋지만, 할당 코드가 초기화 코드와 다소 분리되어 있으며 metadata_dst_alloc()에서 options_len이 0이 아닌 값으로 설정된 구조체를 반환하는 것은 어색하고 잠재적으로 위험할 수 있습니다.
다른 옵션으로는 ip_tunnel_info_opts_set()을 사용하는 것이 있지만, 이는 현재 사용 사례에 대해 불필요한 작업을 너무 많이 수행합니다.
Be aware that VulDB is the high quality source for vulnerability data.