🔍 CVE-2022-50394

7.8
CVSS Score
HIGH
2025-09-18
2026-08-04 10:18
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 i2c: ismt 드라이버 내 ismt_access() 함수에서 발생하는 경계 외 참조(Out-of-bounds) 취약점입니다. 사용자로부터 전달받은 데이터의 크기를 검증하지 않아 'data->block[0]' 변수가 매우 커질 수 있으며, 이로 인해 메모리 오류가 발생할 수 있습니다.

💡 쉬운 설명

컴퓨터의 부품을 제어하는 프로그램이 사용자가 입력한 데이터의 크기를 제대로 확인하지 않아 발생하는 문제입니다. 잘못된 크기의 데이터를 입력하면 시스템이 예상치 못한 메모리 영역을 건드려 오류가 발생하거나 멈출 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: i2c: ismt: Fix an out-of-bounds bug in ismt_access() When the driver does not check the data from the user, the variable 'data->block[0]' may be very large to cause an out-of-bounds bug. The following log can reveal it: [ 33.995542] i2c i2c-1: ioctl, cmd=0x720, arg=0x7ffcb3dc3a20 [ 33.995978] ismt_smbus 0000:00:05.0: I2C_SMBUS_BLOCK_DATA: WRITE [ 33.996475] ================================================================== [ 33.996995] BUG: KASAN: out-of-bounds in ismt_access.cold+0x374/0x214b [ 33.997473] Read of size 18446744073709551615 at addr ffff88810efcfdb1 by task ismt_poc/485 [ 33.999450] Call Trace: [ 34.001849] memcpy+0x20/0x60 [ 34.002077] ismt_access.cold+0x374/0x214b [ 34.003382] __i2c_smbus_xfer+0x44f/0xfb0 [ 34.004007] i2c_smbus_xfer+0x10a/0x390 [ 34.004291] i2cdev_ioctl_smbus+0x2c8/0x710 [ 34.005196] i2cdev_ioctl+0x5ec/0x74c Fix this bug by checking the size of 'data->block[0]' first.

📍 영향받는 시스템

Linux Kernel (ismt driver 포함 버전)

⚔️ 공격 벡터

사용자 권한을 가진 프로세스가 조작된 크기의 데이터를 I2C ioctl 명령을 통해 드라이버로 전달

🛡️ 대응 방법

ismt_access() 함수 내에서 'data->block[0]'의 크기를 사전에 검증하도록 커널 패치 적용

🔧 검증 코드

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

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