🔍 CVE-2023-54236

0.0
CVSS Score
UNKNOWN
2025-12-30
2026-10-28 19:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 net_failover 모듈에서 failover 장치의 TX 큐 수가 기본값 16을 초과하는 문제를 해결합니다. 기본 장치의 TX 큐가 16개보다 많으면 'selects TX queue N, but real number of TX queues is 16' 경고가 발생하므로, 존재하지 않는 기본 장치의 경우와 같이 큐 수를 줄이도록 수정합니다.

💡 쉬운 설명

가상 네트워크 장치가 실제 물리 장치보다 적은 수의 송신 대기열을 가지고 있어서 경고 메시지가 발생하는 버그입니다. 대기열 수를 맞추도록 수정하여 경고를 없앱니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net/net_failover: fix txq exceeding warning The failover txq is inited as 16 queues. when a packet is transmitted from the failover device firstly, the failover device will select the queue which is returned from the primary device if the primary device is UP and running. If the primary device txq is bigger than the default 16, it can lead to the following warning: eth0 selects TX queue 18, but real number of TX queues is 16 The warning backtrace is: [ 32.146376] CPU: 18 PID: 9134 Comm: chronyd Tainted: G E 6.2.8-1.el7.centos.x86_64 #1 [ 32.147175] Hardware name: Red Hat KVM, BIOS 1.10.2-3.el7_4.1 04/01/2014 [ 32.147730] Call Trace: [ 32.147971] <TASK> [ 32.148183] dump_stack_lvl+0x48/0x70 [ 32.148514] dump_stack+0x10/0x20 [ 32.148820] netdev_core_pick_tx+0xb1/0xe0 [ 32.149180] __dev_queue_xmit+0x529/0xcf0 [ 32.149533] ? __check_object_size.part.0+0x21c/0x2c0 [ 32.149967] ip_finish_output2+0x278/0x560 [ 32.150327] __ip_finish_output+0x1fe/0x2f0 [ 32.150690] ip_finish_output+0x2a/0xd0 [ 32.151032] ip_output+0x7a/0x110 [ 32.151337] ? __pfx_ip_finish_output+0x10/0x10 [ 32.151733] ip_local_out+0x5e/0x70 [ 32.152054] ip_send_skb+0x19/0x50 [ 32.152366] udp_send_skb.isra.0+0x163/0x3a0 [ 32.152736] udp_sendmsg+0xba8/0xec0 [ 32.153060] ? __folio_memcg_unlock+0x25/0x60 [ 32.153445] ? __pfx_ip_generic_getfrag+0x10/0x10 [ 32.153854] ? sock_has_perm+0x85/0xa0 [ 32.154190] inet_sendmsg+0x6d/0x80 [ 32.154508] ? inet_sendmsg+0x6d/0x80 [ 32.154838] sock_sendmsg+0x62/0x70 [ 32.155152] ____sys_sendmsg+0x134/0x290 [ 32.155499] ___sys_sendmsg+0x81/0xc0 [ 32.155828] ? _get_random_bytes.part.0+0x79/0x1a0 [ 32.156240] ? ip4_datagram_release_cb+0x5f/0x1e0 [ 32.156649] ? get_random_u16+0x69/0xf0 [ 32.156989] ? __fget_light+0xcf/0x110 [ 32.157326] __sys_sendmmsg+0xc4/0x210 [ 32.157657] ? __sys_connect+0xb7/0xe0 [ 32.157995] ? __audit_syscall_entry+0xce/0x140 [ 32.158388] ? syscall_trace_enter.isra.0+0x12c/0x1a0 [ 32.158820] __x64_sys_sendmmsg+0x24/0x30 [ 32.159171] do_syscall_64+0x38/0x90 [ 32.159493] entry_SYSCALL_64_after_hwframe+0x72/0xdc Fix that by reducing txq number as the non-existent primary-dev does.

📍 영향받는 시스템

CVSS 미부여 상태이며, 6.2.x 등 net_failover 모듈을 사용하는 Linux 커널 버전 (수정 커밋 적용 전 배포판 커널)

⚔️ 공격 벡터

로컬 또는 네트워크 권한이 있는 사용자가 failover 구성 장치로 패킷을 송신하면 커널 경고가 기록되는 정상성(무결성) 결함으로, 보안상 직접적인 공격 경로는 확인되지 않음

🛡️ 대응 방법

배포판에서 제공하는 최신 커널 업데이트를 적용하고 재부팅하여 수정된 net_failover 모듈을 사용

🔧 검증 코드

커널 버전이 수정된 배포판 패치 버전인지 확인하고, net_failover 모듈이 로드되지 않았거나 dmesg에서 해당 경고 발생 횟수가 0이면 패치가 적용되었거나 영향이 없는 것입니다.

Shell / Script
uname -r && (lsmod | grep net_failover || echo 'net_failover not loaded') && dmesg | grep -c 'real number of TX queues'

💻 영향받는 소프트웨어

Linux Kernel