CVE-2026-43503
net: skbuff: frag 전송 헬퍼를 통한 공유 frag 표시자 전파
- 게시됨
- 2026. 5. 23.
- 업데이트됨
- 2026. 8. 24.
- CNA 할당 중
- Linux
- 증거 관찰됨
- 2026. 8. 8.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H낮음 · 다음 30일
- 백분위수
- 27.1%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Linux 커널에서 다음 취약점이 해결되었습니다: net: skbuff: frag 전송 도우미들을 통해 shared-frag 마커 전파 두 개의 frag 전송 도우미(__pskb_copy_fclone() 및 skb_shift())는 frag를 소스에서 대상으로 이동할 때 skb_shinfo()->flags의 SKBFL_SHARED_FRAG 비트를 전파하지 못합니다. __pskb_copy_fclone()은 frag 디스크립터를 복사한 후 나머지 shinfo 메타데이터를 skb_copy_header()에 위임하지만, 해당 도우미는 gso_{size,segs,type}만 전달하고 skb_shinfo()->flags는 건드리지 않습니다. skb_shift()는 frag 디스크립터를 직접 이동하며 flags를 그대로 둡니다. 결과적으로 대상 skb는 동일한 외부 소유 또는 페이지 캐시 기반 페이지에 대한 참조를 유지하면서 skb_has_shared_frag()를 false로 보고합니다. 이 불일치는 skb_has_shared_frag()를 사용하여 공유 페이지를 skb_cow_data()를 통해 우회해야 하는지 결정하는 제자리(in-place) 기록자에게 해롭습니다. ESP 입력이 그러한 기록자 중 하나입니다(esp4.c, esp6.c). 단일 nft 'dup to <local>' 규칙(또는 다른 nf_dup_ipv4() / xt_TEE 호출자)만으로도 마커가 제거된 pskb_copy()된 skb가 esp_input()에 도달하게 하여, 권한이 없는 사용자가 authencesn-ESN 잔여 쓰기를 통해 root 소유의 읽기 전용 파일의 페이지 캐시에 쓸 수 있게 됩니다. frag 디스크립터가 실제로 소스에서 이동될 때마다 대상에 SKBFL_SHARED_FRAG를 설정하십시오. skb_copy()와 skb_copy_expand()도 skb_copy_header()를 공유하지만 모든 페이징 데이터를 새로 할당된 head 저장소로 선형화하고 nr_frags == 0으로 끝나므로 skb_has_shared_frag()가 자체적으로 false를 반환합니다. 따라서 변경이 필요 없습니다. 동일한 누락이 skb_gro_receive() 및 skb_gro_receive_list()에도 존재합니다. 전자는 들어오는 skb의 frag 디스크립터를 두 경로(직접 frag 이동 루프와 head_frag + memcpy 경로)를 통해 누산기의 마지막 sub-skb로 이동합니다. 후자는 들어오는 skb 전체를 p의 frag_list에 연결합니다. 다운스트림 skb_segment()는 skb_shinfo(p)->flags만 읽고, skb_segment_list()는 각 sub-skb의 shinfo를 nskb로 재사용하므로 p와 lp 모두 마커를 보유해야 합니다. 동일한 누락은 tcp_clone_payload()에도 존재합니다. 이 함수는 sk_write_queue의 skb들에서 새로 할당된 nskb로 frag 디스크립터를 이동하여 MTU 프로브 skb를 구성합니다. 이 도우미는 같은 계열에 속하므로 일관성을 위해 동일한 수정이 필요합니다. 현재 이 틈을 통해 사용자 페이지에 도달하는 TCP TX 측 제자리 기록자는 알려져 있지 않지만, 마커에 의존하는 향후 소비자는 조용히 회귀할 것입니다. 동일한 누락이 skb_segment()에도 존재합니다. 반복별 플래그 병합은 head_skb의 플래그만 가져가고, head_skb-frags가 소진될 때 frag_skb를 list_skb에 다시 바인딩하는 내부 switch는 새 frag_skb의 플래그를 nskb에 포함시키지 않습니다. frag_list 멤버에서 frag를 가져오는 세그먼트가 마커를 보유하도록 두 지점 모두에서 frag_skb의 플래그를 통합하십시오.
소스
8CVE-2026-43503
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.