🇰🇷 한글 설명
Linux 커널의 iio: pressure: bmp280 드라이버에서 bmp580 트리거 핸들러의 스택 누수 취약점이 발견되었습니다. 스택에 선언된 스캔 버퍼가 초기화되지 않은 상태에서 데이터가 복사되면서, 초기화되지 않은 스택 메모리의 일부가 사용자 공간으로 유출될 수 있습니다.
💡 쉬운 설명
컴퓨터 메모리의 일부가 깨끗하게 지워지지 않은 상태로 외부로 전달되는 보안 결함입니다. 이로 인해 시스템 내부의 민감한 정보가 의도치 않게 노출될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iio: pressure: bmp280: fix stack leak in bmp580 trigger handler
bmp580_trigger_handler() declares its scan buffer on the stack without
an initializer and then memcpy()s 3 bytes of 24-bit sensor data into
each 4-byte __le32 field. The high byte of comp_temp and comp_press is
left uninitialized, and the channel storagebits is 32, so two bytes of
stack are pushed to userspace per scan.
This is a regression from when the buffer lived in the private data, the
move to a stack-local struct dropped the implicit zeroing.
bme280_trigger_handler() was fixed up to handle this bug, but this
driver was not fixed because there was no padding hole, but rather a
short-fill issue.
Fix this all by just zero-initializing the structure on the stack.
📍 영향받는 시스템
Linux kernel (bmp580 driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 센서 데이터를 읽는 과정을 통해 스택에 남아있는 미초기화 메모리 값을 탈취
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 스택 구조체 초기화 로직을 적용해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.