🇰🇷 한글 설명
Linux 커널의 RapidIO 서브시스템에서 rio_scan_alloc_net() 함수의 메모리 정리 결함. idtab 할당 실패 시 부적절한 정리 함수로 인해 메모리 누수 및 댕글링 포인터 발생 가능.
💡 쉬운 설명
Linux 커널의 일부 기능에서 메모리를 잘못 정리하는 버그. 특정 상황에서 시스템이 불안정해지거나 크래시할 수 있음.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
rapidio: replace rio_free_net() with kfree() in rio_scan_alloc_net()
When idtab allocation fails, net is not registered with rio_add_net() yet,
so kfree(net) is sufficient to release the memory. Set mport->net to NULL
to avoid dangling pointer.
📍 영향받는 시스템
Linux kernel RapidIO subsystem (4.x ~ 6.x 버전)
⚔️ 공격 벡터
Local - Memory allocation failure triggered via kernel RapidIO initialization
🛡️ 대응 방법
Linux 커널 패치 적용: rio_free_net() 대신 kfree() 사용 및 mport->net을 NULL로 초기화
🔧 검증 코드
커널 버전이 출력되고 scan.c 파일이 존재하면 해당 커널에 RapidIO 코드가 포함되어 있음을 확인 가능
uname -r | grep -E '^[456]\.'; grep -l 'rio_scan_alloc_net' /usr/src/linux-headers-$(uname -r)/drivers/rapidio/scan.c 2>/dev/null