🔍 CVE-2025-38616

7.8
CVSS Score
HIGH
2025-08-22
2026-08-27 13:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 TLS ULP(Upper Layer Protocol)에서 TCP 소켓의 수신 큐 데이터가 예기치 않게 사라질 때 발생하는 취약점입니다. 기존의 잘못된 오류 처리 방식이 해제된 메모리(skb)를 참조할 수 있는 문제를 해결하기 위해 파싱 상태를 초기화하고 오류 처리를 강화하는 패치가 적용되었습니다.

💡 쉬운 설명

인터넷 보안 연결을 처리하는 과정에서 데이터가 갑자기 사라지면 시스템이 혼란을 겪어 오류가 발생할 수 있는 문제입니다. 이 취약점은 시스템이 잘못된 메모리 주소를 참조하여 발생할 수 있으며, 최신 업데이트를 통해 해결되었습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: tls: handle data disappearing from under the TLS ULP TLS expects that it owns the receive queue of the TCP socket. This cannot be guaranteed in case the reader of the TCP socket entered before the TLS ULP was installed, or uses some non-standard read API (eg. zerocopy ones). Replace the WARN_ON() and a buggy early exit (which leaves anchor pointing to a freed skb) with real error handling. Wipe the parsing state and tell the reader to retry. We already reload the anchor every time we (re)acquire the socket lock, so the only condition we need to avoid is an out of bounds read (not having enough bytes in the socket for previously parsed record len). If some data was read from under TLS but there's enough in the queue we'll reload and decrypt what is most likely not a valid TLS record. Leading to some undefined behavior from TLS perspective (corrupting a stream? missing an alert? missing an attack?) but no kernel crash should take place.

📍 영향받는 시스템

TLS ULP를 사용하는 Linux 커널 버전

⚔️ 공격 벡터

비표준 읽기 API(예: zerocopy)를 사용하여 TLS 레이어 이전에 TCP 소켓 데이터를 읽어 데이터 불일치를 유도하는 방식

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel