🔍 CVE-2026-23300

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

🇰🇷 한글 설명

IPv6 nexthop 객체를 loopback 디바이스로 생성할 때 fib6_nh_init()이 이를 reject route로 잘못 분류하여 nhc_pcpu_rth_output 메모리 할당을 건너뜁니다. IPv4 route가 이 nexthop을 참조할 때 NULL pointer dereference로 커널 패닉이 발생합니다.

💡 쉬운 설명

Linux 네트워크 설정 중 특정 라우팅 규칙 설정 시 시스템이 충돌할 수 있습니다. 잘못된 메모리 할당으로 인해 커널이 존재하지 않는 메모리에 접근하려고 하기 때문입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: ipv6: fix panic when IPv4 route references loopback IPv6 nexthop When a standalone IPv6 nexthop object is created with a loopback device (e.g., "ip -6 nexthop add id 100 dev lo"), fib6_nh_init() misclassifies it as a reject route. This is because nexthop objects have no destination prefix (fc_dst=::), causing fib6_is_reject() to match any loopback nexthop. The reject path skips fib_nh_common_init(), leaving nhc_pcpu_rth_output unallocated. If an IPv4 route later references this nexthop, __mkroute_output() dereferences NULL nhc_pcpu_rth_output and panics. Simplify the check in fib6_nh_init() to only match explicit reject routes (RTF_REJECT) instead of using fib6_is_reject(). The loopback promotion heuristic in fib6_is_reject() is handled separately by ip6_route_info_create_nh(). After this change, the three cases behave as follows: 1. Explicit reject route ("ip -6 route add unreachable 2001:db8::/64"): RTF_REJECT is set, enters reject path, skips fib_nh_common_init(). No behavior change. 2. Implicit loopback reject route ("ip -6 route add 2001:db8::/32 dev lo"): RTF_REJECT is not set, takes normal path, fib_nh_common_init() is called. ip6_route_info_create_nh() still promotes it to reject afterward. nhc_pcpu_rth_output is allocated but unused, which is harmless. 3. Standalone nexthop object ("ip -6 nexthop add id 100 dev lo"): RTF_REJECT is not set, takes normal path, fib_nh_common_init() is called. nhc_pcpu_rth_output is properly allocated, fixing the crash when IPv4 routes reference this nexthop.

📍 영향받는 시스템

Linux kernel (IPv6 nexthop 및 경로 설정 기능 포함된 버전)

⚔️ 공격 벡터

로컬 사용자가 'ip -6 nexthop add id 100 dev lo' 등으로 IPv6 nexthop 생성 후 IPv4 route 참조 시 커널 패닉 유발

🛡️ 대응 방법

Linux 커널을 CVE-2026-23300 패치가 적용된 최신 버전으로 업그레이드

🔧 검증 코드

커널 버전과 iproute2 버전을 확인하여 최신 패치가 적용되었는지 배포판 보안 공지 기준으로 검증

Shell / Script
cat /proc/version && ip -V 2>/dev/null

📊 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