CVE-2022-50838 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 28.

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

net: stream: sk_stream_kill_queues()에서 sk_error_queue 정리

Changheon Lee가 TCP 소켓 누수 현상을 보고했으며, 이를 재현하기 위한 좋은 예제를 제공했습니다.

다음과 같은 시퀀스에서 TCP 소켓이 누수되는 것으로 보입니다:

1) 소켓에 SOF_TIMESTAMPING_TX_ACK가 활성화되어 있습니다.

각 ACK는 __skb_tstamp_tx()에서 오류 큐(error queue)에 삽입된 skb를 처리합니다. SOF_TIMESTAMPING_OPT_TSONLY도 요청되지 않은 한, __skb_tstamp_tx()은 skb_clone()을 사용합니다.

2) 애플리케이션이 MSG_ZEROCOPY도 사용하는 경우, struct ubuf_info가 연결되어 있는 복사된(skbs cloned) skbs를 오류 큐에 삽입합니다.

struct ubuf_info가 할당될 때마다 sock_zerocopy_alloc()은 sock_hold()을 호출합니다.

복사된 skbs가 여전히 sk_error_queue에 남아 있는 한, 소켓 참조 카운트(refcount)는 증가된 상태로 유지됩니다.

3) 오류 큐가 비어 있지 않은 상태에서 애플리케이션이 소켓을 닫습니다.

tcp_close()가 더 이상 소켓의 오류 큐를 정리하지 않으므로, 오류 큐에 적어도 하나의 skb가 남아 있어 해당 소켓이 영원히 살아있는 상태가 될 수 있습니다.

이 버그는 커널 메모리를 모두 소모하고 호스트 시스템을 멈추게 하는 데 악용될 수 있습니다.

동시 작성자(concurrent writers)와의 적절한 동기화를 유지하면서 오류 큐를 정리해야 합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Linux

예약하다

2025. 12. 30.

모더레이션

수락

항목

VDB-338881

EPSS

0.00239

출처

Might our Artificial Intelligence support you?

Check our Alexa App!