🇰🇷 한글 설명
Linux 커널의 AK8975 자기계 드라이버에서 초기화되지 않은 커널 스택 메모리가 유출될 수 있는 취약점이 발견되었습니다. I2C 데이터 읽기 시 반환 값이 버퍼 크기보다 작을 경우, 초기화되지 않은 데이터가 IIO 버퍼를 통해 사용자 공간으로 전달될 수 있습니다.
💡 쉬운 설명
기기 내부의 센서 데이터를 읽어올 때, 비어있는 메모리 공간에 남아있던 민감한 정보가 실수로 외부로 흘러나갈 수 있는 문제입니다. 이를 통해 시스템 내부의 중요한 데이터가 노출될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iio: magnetometer: ak8975: fix potential kernel stack memory leak
Currently in the AK8975 driver there are four instances where potential
uninitialized kernel stack memory leaks can occur. If
i2c_smbus_read_i2c_block_data_or_emulated() returns a value less than
the size of the buffer, uninitialized bytes are retained in the buffer
and later the buffer is passed on to IIO buffers, potentially leaking
memory to userspace.
Fix this by adding checks whether the return value of the function is
equal to the size of the buffer and subsequently if the value is
lesser than zero to distinguish from a returned error code.
📍 영향받는 시스템
AK8975 드라이버를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
특수하게 조작된 I2C 통신을 통해 센서 데이터 읽기 오류를 유도하여 커널 스택 메모리 유출
🛡️ 대응 방법
AK8975 드라이버의 데이터 읽기 반환 값 검증 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인