CVE-2025-38262 in Linux
요약
\~에 의해 VulDB • 2026. 05. 25.
리눅스 커널에서 다음 취약점이 해결되었습니다:
tty: serial: uartlite: 초기화(init) 함수에서 uart 드라이버 등록
uart 장치의 두 인스턴스가 프로빙(probing)될 때 동시성 경쟁 조건이 발생할 수 있습니다. 한 스레드가 uart_driver 구조체의 'uart_state' 멤버에 메모리를 할당하고 할당하는 uart_register_driver 함수를 호출하면, 다른 인스턴스가 uart 드라이버 등록을 우회하여 ulite_assign을 호출할 수 있습니다. 이는 uart 드라이버가 완전히 초기화되었음을 예상하는 uart_add_one_port를 호출합니다. 이로 인해 null 포인터 역참조로 인해 커널 패닉이 발생합니다:
[ 8.143581] BUG: kernel NULL pointer dereference, address: 00000000000002b8
[ 8.156982] #PF: supervisor write access in kernel mode
[ 8.156984] #PF: error_code(0x0002) - not-present page
[ 8.156986] PGD 0 P4D 0
... [ 8.180668] RIP: 0010:mutex_lock+0x19/0x30
[ 8.188624] Call Trace:
[ 8.188629] ? __die_body.cold+0x1a/0x1f
[ 8.195260] ? page_fault_oops+0x15c/0x290
[ 8.209183] ? __irq_resolve_mapping+0x47/0x80
[ 8.209187] ? exc_page_fault+0x64/0x140
[ 8.209190] ? asm_exc_page_fault+0x22/0x30
[ 8.209196] ? mutex_lock+0x19/0x30
[ 8.223116] uart_add_one_port+0x60/0x440
[ 8.223122] ? proc_tty_register_driver+0x43/0x50
[ 8.223126] ? tty_register_driver+0x1ca/0x1e0
[ 8.246250] ulite_probe+0x357/0x4b0 [uartlite]
이를 방지하기 위해 uart 드라이버 등록을 초기화(init) 함수로 이동합니다. 이렇게 하면 probe 함수가 호출될 때 uart_driver가 항상 등록되도록 보장됩니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.