CVE-2026-23277 in Linux정보

요약

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

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

net/sched: teql: TEQL 슬레이브 전송 시 iptunnel_xmit에서의 NULL 포인터 역참조 수정

teql_master_xmit()은 slave 장치를 통해 전송하기 위해 netdev_start_xmit(skb, slave)를 호출하지만, 사전에 skb->dev를 slave 장치로 업데이트하지 않습니다.

gretap 터널이 TEQL 슬레이브인 경우, 전송 경로는 iptunnel_xmit()에 도달하여 dev = skb->dev(teql0 마스터를 여전히 가리킴)를 저장한 후 나중에 iptunnel_xmit_stats(dev, pkt_len)을 호출합니다. 이 함수는 다음 작업을 수행합니다:

get_cpu_ptr(dev->tstats)

teql_master_setup()가 dev->pcpu_stat_type에 NETDEV_PCPU_STAT_TSTATS를 설정하지 않으므로, 핵심 네트워크 스택은 teql0에 대해 tstats를 할당하지 않습니다. 따라서 dev->tstats는 NULL입니다. get_cpu_ptr(NULL)은 NULL + __per_cpu_offset[cpu]를 계산하여 페이지 폴트를 유발합니다.

BUG: unable to handle page fault for address: ffff8880e6659018 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 68bc067 P4D 68bc067 PUD 0 Oops: Oops: 0002 [#1] SMP KASAN PTI
RIP: 0010:iptunnel_xmit (./include/net/ip_tunnels.h:664 net/ipv4/ip_tunnel_core.c:89) Call Trace: <TASK> ip_tunnel_xmit (net/ipv4/ip_tunnel.c:847) __gre_xmit (net/ipv4/ip_gre.c:478) gre_tap_xmit (net/ipv4/ip_gre.c:779) teql_master_xmit (net/sched/sch_teql.c:319) dev_hard_start_xmit (net/core/dev.c:3887) sch_direct_xmit (net/sched/sch_generic.c:347) __dev_queue_xmit (net/core/dev.c:4802) neigh_direct_output (net/core/neighbour.c:1660) ip_finish_output2 (net/ipv4/ip_output.c:237) __ip_finish_output.part.0 (net/ipv4/ip_output.c:315) ip_mc_output (net/ipv4/ip_output.c:369) ip_send_skb (net/ipv4/ip_output.c:1508) udp_send_skb (net/ipv4/udp.c:1195) udp_sendmsg (net/ipv4/udp.c:1485) inet_sendmsg (net/ipv4/af_inet.c:859) __sys_sendto (net/socket.c:2206)

netdev_start_xmit() 호출 전에 skb->dev = slave를 설정하여 터널 전송 함수가 적절히 할당된 tstats를 가진 올바른 슬레이브 장치를 볼 수 있도록 함으로써 이 문제를 해결합니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!