🇰🇷 한글 설명
Linux 커널의 iio: imu: st_lsm6dsx 드라이버에서 스택 누수 취약점이 발견되었습니다. 태그가 지정된 FIFO 버퍼를 처리할 때 구조체가 초기화되지 않아, 구조체 내부의 정렬을 위한 빈 공간(hole)에 남아있던 데이터가 사용자 공간으로 유출될 수 있습니다.
💡 쉬운 설명
컴퓨터 메모리의 일부 공간이 깨끗하게 지워지지 않은 상태로 사용자에게 전달되는 문제입니다. 이 과정에서 메모리에 남아있던 민감한 정보가 의도치 않게 노출될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iio: imu: st_lsm6dsx: fix stack leak in tagged FIFO buffer
The tagged FIFO path declares iio_buff on the stack with __aligned(8)
but no initializer, but there is a hole in the structure, which will
then leak to userspace as ST_LSM6DSX_SAMPLE_SIZE bytes (6) will be
copied, but the space between that and the timestamp are not
initialized.
Commit c14edb4d0bdc ("iio:imu:st_lsm6dsx Fix alignment and data leak
issues") moved the untagged FIFO path to a kzalloc'd buffer in hw->scan,
but for the tagged path it only added the alignment qualifier and not
the initializer :(
Fix this by just zero-initializing the structure on the stack.
📍 영향받는 시스템
st_lsm6dsx 드라이버를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
로컬 공격자가 특정 드라이버를 통해 메모리 내의 잔류 데이터를 읽어내는 방식
🛡️ 대응 방법
커널 패치(commit c14edb4d0bdc 관련 수정 사항)를 적용하여 스택 구조체를 0으로 초기화해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.