CVE-2026-64530 in Linux
요약
\~에 의해 VulDB • 2026. 07. 26.
리눅스 커널에서 다음 취약점이 해결되었습니다:
net/sched: cls_api: tcf_qevent_handle에서 TC_ACT_CONSUMED 처리
tcf_classify()는 skb가 분해 엔진(예: 순서가 맞지 않는 조각에 대한 act_ct)에 의해 보유되는 동안 TC_ACT_CONSUMED를 반환할 수 있습니다. 이 경우 skb의 소유권이 호출자에게 더 이상 없으며 다시 접촉해서는 안 됩니다.
tcf_qevent_handle()은 TC_ACT_CONSUMED를 처리하지 않았습니다. switch 문을 통과하여 분류가 성공한 것처럼 호출자에게 skb를 반환했습니다. 현재 qevents와 연결된 유일한 큐 디스패처(qdisc)는 RED이며, 세 가지 호출 지점(RED_PROB_MARK/HARD_MARK의 qe_mark, congestion_drop의 qe_early_drop)을 통해 이루어집니다. 이 경우 red_enqueue()는 더 이상 소유하지 않는 skb에 대해 계속 작업하고 있었습니다 -- 이를 삽입하거나(dropping), 통계 정보를 업데이트하는 등의 작업을 수행했습니다. 그 결과 Use-After-Free(UAF)가 발생했습니다.
tc qdisc add dev eth0 root handle 1: red ... qevent early_drop block 10 tc filter add block 10 ... action ct
(ct 분해(defrag)가 활성화되어 있고 순서가 맞지 않는 조각을 생성하는 트래픽, 예를 들어 단편화된 UDP 스트림이 있는 경우)
tcf_qevent_handle()에서 TC_ACT_CONSUMED를 처리할 때 ingress 및 egress 고속 경로와 동일한 방식으로 처리합니다: 이를 훔쳐간 것으로 간주하고 skb에 접촉하지 않고 NULL을 반환합니다. TC_ACT_STOLEN 사례와는 달리, 더 이상 우리가 소유하지 않기 때문에 여기서 skb를 삭제하거나 해제해서는 안 됩니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.