🔍 CVE-2025-38262

7.8
CVSS Score
HIGH
2025-07-09
2026-10-15 22:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 uartlite 드라이버에서 두 개의 uart 장치가 동시에 프로빙될 때 발생하는 경합 조건(Race Condition) 취약점입니다. 한 스레드가 드라이버를 등록하는 도중 다른 스레드가 미완성된 드라이버 구조체에 접근하여 NULL 포인터 역참조를 유발하고 커널 패닉을 일으킵니다.

💡 쉬운 설명

두 개의 장치가 동시에 켜질 때, 시스템이 장치 준비가 덜 끝난 상태에서 명령을 내려 컴퓨터가 갑자기 멈추거나 꺼지는 문제입니다. 장치 등록 순서를 바로잡아 이 충돌을 방지해야 합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: tty: serial: uartlite: register uart driver in init When two instances of uart devices are probing, a concurrency race can occur. If one thread calls uart_register_driver function, which first allocates and assigns memory to 'uart_state' member of uart_driver structure, the other instance can bypass uart driver registration and call ulite_assign. This calls uart_add_one_port, which expects the uart driver to be fully initialized. This leads to a kernel panic due to a null pointer dereference: [ 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] To prevent it, move uart driver registration in to init function. This will ensure that uart_driver is always registered when probe function is called.

📍 영향받는 시스템

Linux kernel (uartlite driver 사용 환경)

⚔️ 공격 벡터

로컬 환경에서 다수의 uart 장치를 동시에 프로빙하거나 하드웨어 인터럽트를 유도하여 경합 조건 발생

🛡️ 대응 방법

커널 패치를 통해 uart 드라이버 등록 과정을 init 함수로 이동하여 프로브 시점에 드라이버가 항상 등록되어 있도록 수정

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 최신 보안 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel