CVE-2026-93105 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 18.

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

esp: esp_ssg_unref()에서 관리되는 frag 페이지의 ref를 해제하지 않음

esp_ssg_unref()은 AEAD 연산이 완료된 후 소스 scatterlist에 대해 보유 중인 페이지 참조(page references)를 해제합니다. 이는 out-of-place transform(req->src != req->dst)의 경우 모든 frag 페이지에 대해 skb_page_unref()을 호출하며, 요청 자체의 scatterlist에 대한 esp_output_tail()의 오류 경로(already_unref == true)에서도 동일하게 수행됩니다.

하지만 skb가 관리되는 frags(SKBFL_MANAGED_FRAG_REFS)를 포함하는 경우에는 이러한 동작이 잘못되었습니다. 관리되는 frags는 zerocopy ubuf에 의해 소유되며, skb는 frag별 페이지 참조(per-frag page reference)를 보유하지 않습니다. io_uring SEND_ZC는 등록된 버퍼와 함께 io_sg_from_iter()를 통해 bvec 페이지를 이와 같은 방식으로 연결합니다. 스택의 나머지 부분은 이 불변 조건(invariant)을 준수합니다: SKBFL_MANAGED_FRAG_REFS가 설정된 경우 skb_release_data()는 per-frag unref를 건너뛰며, 다른 unref 사이트에서는 skb_zcopy_managed()가 가드(guard)로 사용됩니다.

esp_ssg_unref()에는 해당 가드가 누락되어 있어, 관리되는 frag을 가진 skb의 경우에 대해 skb가 결코 획득하지 않은 페이지 참조(page reference)를 해제하게 됩니다. 이로 인해 페이지 참조 카운트가 언더플로우(underflow)하여 여전히 사용 중인 페이지가 해제(free)될 수 있습니다.

skb_release_data()와 일치하도록 함수에 skb_zcopy_managed() 가드를 추가하여, 관리되는 frag을 가진 skbs의 경우 두 가지 unref 경로 모두를 건너뛰도록 합니다.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

출처

Do you know our Splunk app?

Download it now for free!