🇰🇷 한글 설명
Linux 커널의 octeontx2-pf 드라이버 내 rvu_rep_rsrc_init() 함수에서 이중 해제(Double Free) 취약점이 발견되었습니다. 하드웨어 리소스 설정 중 오류가 발생할 경우, 이미 해제된 메모리 자원을 다시 해제하려고 시도하여 시스템 불안정이나 보안 문제를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터가 메모리라는 저장 공간을 사용한 뒤 다 쓰면 반납해야 하는데, 이미 반납한 공간을 실수로 한 번 더 반납하려고 시도하는 오류입니다. 이 과정에서 시스템이 멈추거나 해커가 악용할 수 있는 빈틈이 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
octeontx2-pf: fix double free in rvu_rep_rsrc_init()
rvu_rep_rsrc_init() allocates queue memory before calling
otx2_init_hw_resources(). When hardware resource setup fails,
otx2_init_hw_resources() already unwinds the partially initialized
SQ, CQ, and aura state before returning an error. The representor
error path then calls otx2_free_hw_resources() again and can free
the same resources a second time.
Fix this by splitting the cleanup labels so that a failure from
otx2_init_hw_resources() only releases queue memory. Keep the
otx2_free_hw_resources() call for failures that happen after
hardware resource initialization completed successfully.
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 validation was not performed because reproducing this path
requires OcteonTX2 representor hardware.
📍 영향받는 시스템
Linux kernel (v7.1-rc3 포함 OcteonTX2 하드웨어를 사용하는 시스템)
⚔️ 공격 벡터
하드웨어 리소스 초기화 실패를 유도하여 메모리 관리 오류를 일으키는 방식
🛡️ 대응 방법
커널 패치를 적용하여 리소스 해제 로직(cleanup labels)을 수정해야 함
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 패치 버전인지 확인합니다.