CVE-2023-54195 in Linux
요약
\~에 의해 VulDB • 2026. 08. 01.
리눅스 커널에서 다음 취약점이 해결되었습니다:
rxrpc: 채널 할당 전 호출의 타임아웃 수정
afs_make_call()은 rxrpc_kernel_begin_call()을 호출하여 호출을 시작합니다(연결이 사용 가능해질 때까지 대기하는 동안 백그라운드에서 중단될 수 있음). 그런 다음 rxrpc_kernel_set_max_life()를 호출하여 시간 제한을 설정하지만, 이로 인해 호출 타이머가 시작되어 연결이 할당되기 전에 호출 타이머가 만료될 수 있습니다. 그 결과 다음과 같은oops(커널 패닉)가 발생할 수 있습니다:
BUG: kernel NULL pointer dereference, address: 0000000000000000 ... CPU: 1 PID: 5111 Comm: krxrpcio/0 Not tainted 6.3.0-rc7-build3+ #701 RIP: 0010:rxrpc_alloc_txbuf+0xc0/0x157 ... Call Trace: <TASK> rxrpc_send_ACK+0x50/0x13b rxrpc_input_call_event+0x16a/0x67d rxrpc_io_thread+0x1b6/0x45f ? _raw_spin_unlock_irqrestore+0x1f/0x35 ? rxrpc_input_packet+0x519/0x519 kthread+0xe7/0xef ? kthread_complete_and_exit+0x1b/0x1b ret_from_fork+0x22/0x30
이 문제를 해결하기 위해, 호출 생성 시 struct rxrpc_call에 시간 제한을 기록합니다. 타이머는 첫 번째 패킷 전송 시 시작됩니다.
AF_RXRPC를 통해 사용자 공간에서 이를 직접 트리거하는 것은 불가능해야 합니다. sendmsg()는 호출 대기 상태(waiting-for-conn)일 때 신호로 인해 대기가 종료되면 EBUSY를 반환하기 때문입니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.