🔍 CVE-2026-63934

0.0
CVSS Score
UNKNOWN
2026-07-19
2026-07-27 17:44
✅ 완료

🇰🇷 한글 설명

Linux 커널의 iio: gyro: itg3200 드라이버에서 I2C 읽기 작업 시 잘못된 스택 위치에 데이터를 기록하는 취약점이 발견되었습니다. 이로 인해 실제 센서 데이터 대신 초기화되지 않은 스택 메모리 내용이 사용자 공간으로 유출될 수 있습니다.

💡 쉬운 설명

자이로스코프 센서 데이터를 읽어올 때 데이터가 저장될 위치를 잘못 지정하여, 실제 센서 값 대신 컴퓨터 내부의 민감한 메모리 정보가 노출될 수 있는 문제입니다. 이는 데이터가 제대로 전달되지 않는 기능적 오류와 정보 유출 문제를 동시에 일으킵니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: iio: gyro: itg3200: fix i2c read into the wrong stack location itg3200_read_all_channels() takes `__be16 *buf' as a parameter and fills the i2c_msg destination as `(char *)&buf'. Since `buf' is the parameter (a pointer), `&buf' is the address of the local pointer slot on the stack of itg3200_read_all_channels(), not the address of the caller's scan buffer. The (char *) cast hides the type mismatch. i2c_transfer() therefore writes ITG3200_SCAN_ELEMENTS * sizeof(s16) = 8 bytes into the parameter's stack slot, which is discarded when the function returns. The caller's scan buffer in itg3200_trigger_handler() is never written to, so iio_push_to_buffers_with_timestamp() pushes uninitialised stack contents to userspace via /dev/iio:deviceX every scan -- both a functional bug (no actual gyroscope or temperature data is delivered through the triggered buffer) and an information leak. The non-buffered read_raw() path is unaffected: it goes through itg3200_read_reg_s16() which uses `&out' on a local s16 value, where that is correct. Drop the spurious `&' so the i2c read writes into the caller's buffer.

📍 영향받는 시스템

Linux kernel (itg3200 드라이버를 사용하는 시스템)

⚔️ 공격 벡터

로컬 사용자가 /dev/iio:deviceX 장치를 통해 초기화되지 않은 커널 스택 메모리 내용을 읽어내는 방식

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 itg3200_read_all_channels 함수 내 잘못된 포인터 참조를 수정해야 합니다.

🔧 검증 코드

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

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel