🇰🇷 한글 설명
Linux 커널의 qed 드라이버에서 qed_cxt_tables_alloc() 함수 호출 중 메모리 할당 실패 시 이미 해제된 메모리를 다시 해제하는 Double Free 취약점이 발견되었습니다. CID 비트맵 할당 실패 시 중복 해제가 발생하여 시스템 불안정이나 보안 위협을 초래할 수 있습니다.
💡 쉬운 설명
컴퓨터가 메모리를 사용한 뒤 정리하는 과정에서, 이미 버린 메모리를 실수로 한 번 더 버리려고 시도하는 오류입니다. 이 과정에서 시스템이 충돌하거나 해커가 시스템을 조작할 수 있는 틈이 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
qed: fix double free in qed_cxt_tables_alloc()
If one of the later PF or VF CID bitmap allocations fails,
qed_cid_map_alloc() jumps to cid_map_fail and frees the previously
allocated CID bitmaps before returning an error. qed_cxt_tables_alloc()
then calls qed_cxt_mngr_free(), which invokes qed_cid_map_free()
again.
Fix this by setting each CID bitmap pointer to NULL after bitmap_free()
to avoid double free.
The bug was first flagged by an experimental analysis tool we are
developing for kernel memory-management bugs while analyzing
v6.13-rc1. The tool is still under development and is not yet publicly
available. Manual inspection confirms that the bug is still
present in v7.1-rc3.
Runtime reproduction was not attempted because exercising the failing
allocation path requires device-specific setup.
📍 영향받는 시스템
Linux kernel (v7.1-rc3 및 이전 버전 포함 qed 드라이버 사용 시스템)
⚔️ 공격 벡터
특정 장치 설정 및 메모리 할당 실패를 유도하는 조건에서 발생 (로컬/장치 종속적)
🛡️ 대응 방법
커널 패치를 적용하여 비트맵 해제 후 포인터를 NULL로 설정하도록 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 취약점이 수정된 최신 패치 버전인지 확인하십시오.