🇰🇷 한글 설명
Linux 커널의 iio proximity aw96103 드라이버에서 펌웨어 데이터 길이를 검증하지 않아 발생하는 취약점입니다. 손상되거나 길이가 짧은 펌웨어 이미지를 사용할 경우 파서가 할당된 버퍼 범위를 벗어나 데이터를 읽는 버퍼 오버리드(Out-of-bounds read)가 발생할 수 있습니다.
💡 쉬운 설명
기기 작동에 필요한 소프트웨어(펌웨어)의 크기를 제대로 확인하지 않아, 잘못된 정보가 들어올 경우 시스템이 허용되지 않은 메모리 영역을 읽으려 시도하는 문제입니다. 이로 인해 시스템 오류가 발생하거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iio: proximity: aw96103: validate firmware data length
The firmware parser reads a length from the binary header and then uses
it to walk six-byte register/value entries. A truncated firmware image
can make the parser read beyond the copied firmware buffer. A value
smaller than the four-byte count field also underflows, producing a very
large length.
Read the little-endian field with get_unaligned_le32(), as previously
proposed by David Lechner. Validate the header size, reject an
underflowed length, ensure the resulting payload is contained in the
firmware image, and require it to contain whole register/value entries.
📍 영향받는 시스템
Linux kernel (iio: proximity: aw96103 드라이버 포함 버전)
⚔️ 공격 벡터
조작되거나 불완전한 펌웨어 이미지를 시스템에 로드하여 메모리 경계를 넘어서는 읽기 시도 유도
🛡️ 대응 방법
커널 패치를 적용하여 펌웨어 헤더 크기 검증 및 데이터 길이 유효성 검사 로직 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 최신 패치 버전인지 확인합니다.