🇰🇷 한글 설명
Linux 커널의 vfio/qat 구성 요소에서 qat_vf_resume_write() 함수 내 f_pos 경합 조건(race condition) 취약점이 발견되었습니다. 잠금(lock)을 획득하기 전에 파일 위치를 확인하여, 두 개의 프로세스가 동시에 쓰기를 시도할 경우 버퍼 범위를 초과하여 데이터를 쓰는 메모리 오염이 발생할 수 있습니다.
💡 쉬운 설명
두 명의 사용자가 동시에 데이터를 저장하려고 할 때, 시스템이 데이터의 위치를 제대로 계산하지 못해 정해진 저장 공간을 넘어서는 데이터가 써지는 문제입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
vfio/qat: fix f_pos race in qat_vf_resume_write()
qat_vf_resume_write() checks filp->f_pos before taking migf->lock, but
copies into the migration-state buffer after taking the lock and
re-reading the shared file position.
Two concurrent writers could therefore pass the bounds check with the
old offset, then have the second writer copy after the first advanced
f_pos, writing past the end of the migration-state buffer.
Take migf->lock before doing the boundary checks.
📍 영향받는 시스템
Linux kernel (vfio/qat 모듈을 사용하는 시스템)
⚔️ 공격 벡터
동시에 여러 쓰기 요청을 보내는 경합 조건(Race Condition)을 이용한 메모리 오염 공격
🛡️ 대응 방법
경계 검사(boundary check)를 수행하기 전에 migf->lock을 먼저 획득하도록 커널을 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인하십시오.