🔍 CVE-2022-50218

5.5
CVSS Score
MEDIUM
2025-06-18
2026-11-05 20:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 isl29028 조도 센서 드라이버에서 isl29028_remove() 함수가 managed/non-managed 등록 함수의 해제 순서를 probe 함수와 일치시키지 않아 발생한 문제입니다. 이로 인해 드라이버 제거 시 null 포인터 역참조로 커널 패닉(일반 보호 오류)이 발생할 수 있습니다.

💡 쉬운 설명

특정 조명 센서 드라이버를 제거할 때 컴퓨터가 비정상 종료되거나 오류 메시지를 띄울 수 있는 버그입니다. 주로 안정성 문제이며 악의적 공격보다는 장치 제거 시 충돌 문제에 가깝습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: iio: light: isl29028: Fix the warning in isl29028_remove() The driver use the non-managed form of the register function in isl29028_remove(). To keep the release order as mirroring the ordering in probe, the driver should use non-managed form in probe, too. The following log reveals it: [ 32.374955] isl29028 0-0010: remove [ 32.376861] general protection fault, probably for non-canonical address 0xdffffc0000000006: 0000 [#1] PREEMPT SMP KASAN PTI [ 32.377676] KASAN: null-ptr-deref in range [0x0000000000000030-0x0000000000000037] [ 32.379432] RIP: 0010:kernfs_find_and_get_ns+0x28/0xe0 [ 32.385461] Call Trace: [ 32.385807] sysfs_unmerge_group+0x59/0x110 [ 32.386110] dpm_sysfs_remove+0x58/0xc0 [ 32.386391] device_del+0x296/0xe50 [ 32.386959] cdev_device_del+0x1d/0xd0 [ 32.387231] devm_iio_device_unreg+0x27/0xb0 [ 32.387542] devres_release_group+0x319/0x3d0 [ 32.388162] i2c_device_remove+0x93/0x1f0

📍 영향받는 시스템

패치 이전의 Linux 커널 중 isl29028 드라이버를 포함한 시스템 (해당 센서 하드웨어 사용 환경)

⚔️ 공격 벡터

일반적으로 로컬 권한이 있는 사용자가 해당 장치를 제거(unbind/hot-unplug)할 때 발생하며, 원격에서 직접 악용하는 경로는 확인되지 않음

🛡️ 대응 방법

배포판 제공 최신 커널 업데이트를 적용하거나, 패치된 커널 소스로 재빌드 후 재부팅

🔧 검증 코드

커널 버전이 패치가 포함된 최신 릴리스인지 확인하고, isl29028 모듈이 로드되지 않았거나 드라이버가 바인딩되지 않았다면 이 취약점에 노출되지 않은 것입니다. 모듈이 로드되어 있다면 배포판 보안 공지에서 패치 버전을 대조하세요.

Shell / Script
uname -r && (lsmod | grep -i isl29028 || echo 'isl29028 module not loaded') && (ls /sys/bus/i2c/drivers/isl29028 2>/dev/null || echo 'isl29028 driver not bound')

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel