CVE-2026-68441 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 12.

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

net/sched: qdisc 필터 체인에서의 TC_ACT_REDIRECT 처리

qdisc 필터 체인에 연결된 TC 필터가 TC_ACT_REDIRECT(예: bpf_redirect()를 호출하는 eBPF 프로그램 또는 act_bpf 액션)를 반환할 경우, 리디렉션이 묵시적으로 손실되었습니다. 즉, 어떤 qdisc 분류 함수도 TC_ACT_REDIRECT를 처리하지 않았으므로 패킷은 스위치를 통과하여 정상적으로 큐에 삽입되었고, 리디렉션되지 않았습니다.

이는 커밋 27b29f63058d("bpf: add bpf_redirect() helper")에서 TC용 bpf_redirect()가 도입된 이후로 문제가 있었습니다. 오랫동안 운이 좋았던 이유는 bpf_net_context가 항상 사용 가능한 per-CPU 변수였기 때문입니다.

커밋 401cb7dae813("net: Reference bpf_redirect_info via task_struct on PREEMPT_RT.")는 bpf_net_context를 명시적인 호출자에 의해서만 설정되는 task_struct 멤버로 변경했습니다. 이를 설정하는 호출자가 없으면, bpf_redirect() 자체가 bpf_net_ctx_get_ri()에서 NULL 포인터 역참조로 인해 크래시가 발생합니다. 그러나 bpf_net_context가 사용 가능한 경우에도 모든 qdisc 분류 함수에 skb_do_redirect() 호출을 추가하지 않는 한 qdisc 필터 체인에서의 TC_ACT_REDIRECT를 처리할 수 없으며, 이는 net/sched/ 전반에 걸친 변경이 필요함을 의미합니다. 이를 해당 위치인 ebpf 코어에서 격리시킵니다.

대신 pkt_cls.h에 tcf_classify_qdisc() 인라인 헬퍼 함수를 추가하여 qdisc 분류 함수 및 tcf_qevent_handle()가 사용할 수 있도록 tcf_classify()의 래퍼로 사용합니다. 분류 판정이 TC_ACT_REDIRECT인 경우, 이 래퍼는 패킷이 묵시적으로 계속 전달되는 대신 패킷을 드롭하기 위해 이를 TC_ACT_SHOT으로 변환합니다. 패킷을 통과시키는 것보다 드롭하는 것이 선호되는데, 그 이유는 사용자가 즉시 패킷 손실을 확인할 수 있기 때문입니다. 패킷을 묵시적으로 통과시키면 문제가 숨겨지고 사용자는 리디렉션이 작동하지 않는 이유를 궁금해하게 됩니다.

clsact 고속 경로인 tc_run()은 여전히 tcf_classify()를 직접 호출하며 영향을 받지 않습니다: TC_ACT_REDIRECT는 기존과 같이 sch_handle_egress/ingress()가 skb_do_redirect()를 호출하여 처리하는 그대로 반환됩니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

책임이 있는

Linux

예약하다

2026. 07. 30.

모더레이션

수락

항목

VDB-388879

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!