🇰🇷 한글 설명
Linux 커널의 f2fs 파일 시스템에서 루프 종료 후 잘못된 리스트 반복자를 참조하여 발생하는 취약점입니다. 반복자가 유효하지 않은 포인터를 가리킬 경우 범위를 벗어난 메모리 값을 로드하여 비교 연산 시 보안 문제를 일으킬 수 있습니다.
💡 쉬운 설명
컴퓨터가 목록을 찾다가 찾지 못했을 때, 존재하지 않는 위치를 확인하려다 오류가 발생하는 문제입니다. 이 과정에서 잘못된 정보를 읽어 들여 시스템의 보안을 해칠 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix dereference of stale list iterator after loop body
The list iterator variable will be a bogus pointer if no break was hit.
Dereferencing it (cur->page in this case) could load an out-of-bounds/undefined
value making it unsafe to use that in the comparision to determine if the
specific element was found.
Since 'cur->page' *can* be out-ouf-bounds it cannot be guaranteed that
by chance (or intention of an attacker) it matches the value of 'page'
even though the correct element was not found.
This is fixed by using a separate list iterator variable for the loop
and only setting the original variable if a suitable element was found.
Then determing if the element was found is simply checking if the
variable is set.
📍 영향받는 시스템
f2fs 파일 시스템을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
조작된 파일 시스템 구조를 통해 잘못된 메모리 참조를 유도하는 방식
🛡️ 대응 방법
f2fs 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 f2fs 취약점이 수정된 최신 보안 패치 버전인지 확인