🇰🇷 한글 설명
Linux 커널의 tty: serial: 8250 드라이버에서 NULL 포인터 역참조 취약점이 발견되었습니다. 특정 조건에서 uart->port.dev가 NULL인 상태로 ACPI 관련 함수가 호출되어 커널 패닉을 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터의 통신 장치를 설정하는 과정에서 빈 값(NULL)을 확인하지 않고 사용하려다 시스템이 멈추는 오류입니다. 이로 인해 시스템이 갑자기 재부팅되거나 중단될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tty: serial: 8250: protect against NULL uart->port.dev in register
serial8250_register_8250_port() conditionally copies uart->port.dev
from up->port.dev only when up->port.dev is non-NULL:
if (up->port.dev) {
uart->port.dev = up->port.dev;
...
}
So if both the existing uart slot and up have a NULL ->dev,
uart->port.dev remains NULL. The very next ACPI companion check
then dereferences it unconditionally:
if (!has_acpi_companion(uart->port.dev)) {
has_acpi_companion() reads dev->fwnode without a NULL guard
(include/linux/acpi.h), so this NULL-derefs the kernel for the
remaining no-dev case rather than just skipping the
mctrl_gpio_init() initialisation as intended.
smatch flags the inconsistency:
drivers/tty/serial/8250/8250_core.c:767
serial8250_register_8250_port() error: 'uart->port.dev' could be
null (see line 719)
Guard the call with a NULL check so register continues to work
for callers that legitimately have no parent device (legacy
non-OF/non-ACPI registrations).
No functional change for callers that pass a non-NULL ->dev.
📍 영향받는 시스템
Linux Kernel (8250 serial driver 사용 시스템)
⚔️ 공격 벡터
로컬 권한을 가진 사용자가 특정 시리얼 포트 등록 과정을 유도하여 커널 패닉 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux