🔍 CVE-2026-52974

7.5
CVSS Score
HIGH
2026-06-24
2026-10-19 20:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 net: tls 구성 요소에서 오프로드 RX 설정 실패 시 strparser 앵커 skb가 해제되지 않는 메모리 누수 취약점이 발견되었습니다. tls_set_device_offload_rx() 함수가 실패할 때 할당된 skb를 적절히 해제하지 않아 시스템 자원이 지속적으로 소모될 수 있습니다.

💡 쉬운 설명

네트워크 보안 기능을 설정하다가 오류가 발생하면, 컴퓨터가 사용했던 메모리를 다시 돌려주지 않고 계속 붙잡고 있는 문제입니다. 이 현상이 반복되면 컴퓨터의 메모리가 부족해져 시스템 성능이 떨어지거나 멈출 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: tls: fix strparser anchor skb leak on offload RX setup failure When tls_set_device_offload_rx() fails at tls_dev_add(), the error path calls tls_sw_free_resources_rx() to clean up the SW context that was initialized by tls_set_sw_offload(). This function calls tls_sw_release_resources_rx() (which stops the strparser via tls_strp_stop()) and tls_sw_free_ctx_rx() (which kfrees the context), but never frees the anchor skb that was allocated by alloc_skb(0) in tls_strp_init(). Note that tls_sw_free_resources_rx() is exclusively used for this "failed to start offload" code path, there's no other caller. The leak did not exist before commit 84c61fe1a75b ("tls: rx: do not use the standard strparser"), because the standard strparser doesn't try to pre-allocate an skb. The normal close path in tls_sk_proto_close() handles cleanup by calling tls_sw_strparser_done() (which calls tls_strp_done()) after dropping the socket lock, because tls_strp_done() does cancel_work_sync() and the strparser work handler takes the socket lock.

📍 영향받는 시스템

Linux kernel (commit 84c61fe1a75b 이후 버전)

⚔️ 공격 벡터

네트워크 오프로드 설정을 의도적으로 실패하게 유도하여 메모리 누수를 발생시키는 방식

🛡️ 대응 방법

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

🔧 검증 코드

커널 버전을 확인하고 해당 취약점이 수정된 커밋 내역이 포함되어 있는지 확인합니다.

Shell / Script
uname -r && git log --grep="tls: rx: do not use the standard strparser"

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel