🇰🇷 한글 설명
Linux 커널의 IIO(Industrial I/O) 버퍼 드라이버에서 메모리 해제 시 scan_mask를 적절히 해제하지 않는 취약점이 발견되었습니다. 이전 커밋에서 scan_mask를 별도의 메모리 영역으로 분리했으나, 버퍼 해제 함수에서 이를 해제하는 로직이 누락되어 메모리 누수가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 사용하던 메모리 공간을 다 쓰고 나서 돌려줘야 하는데, 일부 공간을 돌려주지 않고 계속 붙잡고 있는 문제입니다. 이 문제가 반복되면 컴퓨터의 메모리가 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iio: buffer: hw-consumer: free scan_mask on buffer release
The scan_mask lifetime changed in commit 9a2e1233d38c ("iio: buffer:
hw-consumer: remove redundant scan_mask flexible array").
Before that change, the scan mask storage was embedded in struct
hw_consumer_buffer, so iio_hw_buf_release() could free the whole
allocation with a single kfree(hw_buf).
That commit moved the scan mask to a separate bitmap_zalloc() allocation
stored in buffer.scan_mask, but left iio_hw_buf_release() unchanged.
Free the scan mask in iio_hw_buf_release() before freeing the buffer
wrapper.
📍 영향받는 시스템
Linux kernel (iio: buffer: hw-consumer 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 IIO 장치를 조작하여 메모리 누수를 유발함으로써 시스템 자원을 고갈시킬 수 있음
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 취약점이 수정된 패치 버전 이후인지 확인하십시오.