🇰🇷 한글 설명
Linux 커널의 ext4 파일 시스템에서 ext4_xattr_move_to_block() 함수 호출 시 잘못된 메모리 해제 추적이 발생하는 취약점입니다. 확장 속성(xattr)을 외부 블록으로 이동하는 과정에서 이미 해제된 포인터를 참조하거나, 메모리를 해제하지 못해 메모리 누수가 발생할 수 있습니다.
💡 쉬운 설명
파일의 추가 정보를 저장하는 과정에서 컴퓨터 메모리를 관리하는 방식에 오류가 있는 문제입니다. 이로 인해 시스템 메모리가 낭비되거나 프로그램이 비정상적으로 종료될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ext4: fix invalid free tracking in ext4_xattr_move_to_block()
In ext4_xattr_move_to_block(), the value of the extended attribute
which we need to move to an external block may be allocated by
kvmalloc() if the value is stored in an external inode. So at the end
of the function the code tried to check if this was the case by
testing entry->e_value_inum.
However, at this point, the pointer to the xattr entry is no longer
valid, because it was removed from the original location where it had
been stored. So we could end up calling kvfree() on a pointer which
was not allocated by kvmalloc(); or we could also potentially leak
memory by not freeing the buffer when it should be freed. Fix this by
storing whether it should be freed in a separate variable.
📍 영향받는 시스템
ext4 파일 시스템을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
특수하게 조작된 확장 속성(xattr)을 가진 파일을 생성하거나 조작하여 커널 메모리 관리 오류 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 확인