🇰🇷 한글 설명
리눅스 커널의 cpumap에서 XDP 프로그램을 실행하기 전 xdp_rxq_info 구조체를 초기화하지 않아 발생하는 취약점입니다. 이로 인해 XDP 프로그램 실행 시 xdp_md->rx_queue_index 값이 초기화되지 않은 메모리의 임의의 값을 반환할 수 있습니다.
💡 쉬운 설명
컴퓨터 메모리의 깨끗하지 않은 데이터가 프로그램에 전달되어 잘못된 정보를 읽을 수 있는 문제입니다. 이로 인해 네트워크 처리 과정에서 예상치 못한 값이 전달될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
cpumap: Zero-initialise xdp_rxq_info struct before running XDP program
When running an XDP program that is attached to a cpumap entry, we don't
initialise the xdp_rxq_info data structure being used in the xdp_buff
that backs the XDP program invocation. Tobias noticed that this leads to
random values being returned as the xdp_md->rx_queue_index value for XDP
programs running in a cpumap.
This means we're basically returning the contents of the uninitialised
memory, which is bad. Fix this by zero-initialising the rxq data
structure before running the XDP program.
📍 영향받는 시스템
XDP 및 cpumap을 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
초기화되지 않은 메모리 영역을 통해 임의의 데이터(rx_queue_index)를 노출시키는 방식
🛡️ 대응 방법
XDP 프로그램 실행 전 xdp_rxq_info 구조체를 0으로 초기화하는 최신 리눅스 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인