🇰🇷 한글 설명
Linux 커널의 iio: imu: adis16480 드라이버에서 debugfs 읽기 작업 시 보호 조치가 누락된 취약점이 발견되었습니다. firmware_revision 및 firmware_date 파일 작업이 debugfs_file_get()을 호출하지 않아, 읽기 작업 중 장치가 해제될 경우 문제가 발생할 수 있습니다. 이를 해결하기 위해 debugfs_create_file_unsafe() 대신 debugfs_create_file()을 사용하도록 수정되었습니다.
💡 쉬운 설명
장치의 정보를 읽는 도중에 장치가 갑자기 연결 해제되면 시스템이 불안정해질 수 있는 문제입니다. 보안이 강화된 새로운 방식으로 정보를 읽도록 수정하여 이 문제를 방지했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iio: imu: adis16480: fix unprotected debugfs reads
The firmware_revision and firmware_date file operations are open coded
and never call debugfs_file_get(), which debugfs_create_file_unsafe()
requires. debugfs_remove_recursive() therefore does not wait for a read
in progress, and unbind frees the iio_dev underneath it.
Use debugfs_create_file() instead.
📍 영향받는 시스템
Linux kernel (adis16480 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
장치 드라이버의 unbind 과정에서 발생하는 레이스 컨디션(Race Condition)을 이용한 시스템 불안정 유발
🛡️ 대응 방법
adis16480 드라이버의 debugfs 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인