🔍 CVE-2026-23381

5.5
CVSS Score
MEDIUM
2026-03-25
2026-11-05 22:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 bridge 모듈에서 IPv6가 비활성화된 상태로 부팅될 경우, nd_tbl이 초기화되지 않아 NULL 포인터 역참조가 발생하는 취약점입니다. neigh_suppress 기능이 활성화된 상태에서 ICMPv6 Neighbor Discovery 패킷이 브리지에 도달하면 커널 패닉이 발생할 수 있습니다.

💡 쉬운 설명

컴퓨터의 네트워크 설정에서 IPv6를 꺼두었을 때, 특정 네트워크 신호가 들어오면 시스템이 처리할 수 없는 빈 공간을 참조하여 시스템이 멈추거나 오류가 발생하는 문제입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: bridge: fix nd_tbl NULL dereference when IPv6 is disabled When booting with the 'ipv6.disable=1' parameter, the nd_tbl is never initialized because inet6_init() exits before ndisc_init() is called which initializes it. Then, if neigh_suppress is enabled and an ICMPv6 Neighbor Discovery packet reaches the bridge, br_do_suppress_nd() will dereference ipv6_stub->nd_tbl which is NULL, passing it to neigh_lookup(). This causes a kernel NULL pointer dereference. BUG: kernel NULL pointer dereference, address: 0000000000000268 Oops: 0000 [#1] PREEMPT SMP NOPTI [...] RIP: 0010:neigh_lookup+0x16/0xe0 [...] Call Trace: <IRQ> ? neigh_lookup+0x16/0xe0 br_do_suppress_nd+0x160/0x290 [bridge] br_handle_frame_finish+0x500/0x620 [bridge] br_handle_frame+0x353/0x440 [bridge] __netif_receive_skb_core.constprop.0+0x298/0x1110 __netif_receive_skb_one_core+0x3d/0xa0 process_backlog+0xa0/0x140 __napi_poll+0x2c/0x170 net_rx_action+0x2c4/0x3a0 handle_softirqs+0xd0/0x270 do_softirq+0x3f/0x60 Fix this by replacing IS_ENABLED(IPV6) call with ipv6_mod_enabled() in the callers. This is in essence disabling NS/NA suppression when IPv6 is disabled.

📍 영향받는 시스템

IPv6가 비활성화(ipv6.disable=1)되고 neigh_suppress가 활성화된 Linux 커널 시스템

⚔️ 공격 벡터

네트워크를 통해 조작된 ICMPv6 Neighbor Discovery 패킷을 전송하여 커널 NULL 포인터 역참조 유도

🛡️ 대응 방법

커널 패치를 적용하여 IS_ENABLED(IPV6) 호출을 ipv6_mod_enabled()로 교체하여 IPv6 비활성화 시 NS/NA 억제 기능을 차단해야 함

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel