🔍 CVE-2021-47561

7.8
CVSS Score
HIGH
2024-05-24
2026-08-04 10:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 virtio-i2c 드라이버에서 타임아웃 처리 시 발생하는 취약점입니다. 타임아웃 발생 시 장치가 이미 해제된 메모리 버퍼를 계속 사용하여 데이터 오류나 게스트 시스템 내의 메모리 오염을 유발할 수 있습니다.

💡 쉬운 설명

컴퓨터 부품과 통신하는 과정에서 응답이 늦어질 때, 이미 사용이 끝난 메모리 공간을 장치가 잘못 건드려 시스템이 고장 날 수 있는 문제입니다. 이로 인해 데이터가 깨지거나 시스템이 멈출 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: i2c: virtio: disable timeout handling If a timeout is hit, it can result is incorrect data on the I2C bus and/or memory corruptions in the guest since the device can still be operating on the buffers it was given while the guest has freed them. Here is, for example, the start of a slub_debug splat which was triggered on the next transfer after one transfer was forced to timeout by setting a breakpoint in the backend (rust-vmm/vhost-device): BUG kmalloc-1k (Not tainted): Poison overwritten First byte 0x1 instead of 0x6b Allocated in virtio_i2c_xfer+0x65/0x35c age=350 cpu=0 pid=29 __kmalloc+0xc2/0x1c9 virtio_i2c_xfer+0x65/0x35c __i2c_transfer+0x429/0x57d i2c_transfer+0x115/0x134 i2cdev_ioctl_rdwr+0x16a/0x1de i2cdev_ioctl+0x247/0x2ed vfs_ioctl+0x21/0x30 sys_ioctl+0xb18/0xb41 Freed in virtio_i2c_xfer+0x32e/0x35c age=244 cpu=0 pid=29 kfree+0x1bd/0x1cc virtio_i2c_xfer+0x32e/0x35c __i2c_transfer+0x429/0x57d i2c_transfer+0x115/0x134 i2cdev_ioctl_rdwr+0x16a/0x1de i2cdev_ioctl+0x247/0x2ed vfs_ioctl+0x21/0x30 sys_ioctl+0xb18/0xb41 There is no simple fix for this (the driver would have to always create bounce buffers and hold on to them until the device eventually returns the buffers), so just disable the timeout support for now.

📍 영향받는 시스템

Linux kernel (virtio-i2c driver implementation)

⚔️ 공격 벡터

가상화 환경의 백엔드 장치에서 의도적으로 타임아웃을 유발하여 게스트 메모리 오염 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 virtio-i2c의 타임아웃 핸들링 기능이 비활성화된 버전을 사용하십시오.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.

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