🇰🇷 한글 설명
Linux 커널의 TI icssg-prueth 네트워크 드라이버에서 RX 경로 중 CPPI 디스크립터의 Use-After-Free 취약점이 발견되었습니다. 패킷 수신 시 타임스탬프를 처리하기 전 디스크립터가 먼저 해제되어, 해제된 메모리 영역에 접근하려 할 때 문제가 발생합니다.
💡 쉬운 설명
네트워크 데이터를 받을 때, 이미 사용이 끝났다고 버린 메모리 상자를 다시 열어서 내용을 확인하려다 발생하는 오류입니다. 이로 인해 시스템이 멈추거나 해커가 시스템 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: ti: icssg-prueth: fix use-after-free of CPPI descriptor in RX path
cppi5_hdesc_get_psdata() returns a pointer into the CPPI descriptor.
In both emac_rx_packet() and emac_rx_packet_zc(), the descriptor is
freed via k3_cppi_desc_pool_free() before the psdata pointer is used
by emac_rx_timestamp(), which dereferences psdata[0] and psdata[1].
This constitutes a use-after-free on every received packet that goes
through the timestamp path.
Defer the descriptor free until after all accesses through the psdata
pointer are complete. For emac_rx_packet(), move the free into the
requeue label so both early-exit and success paths free the descriptor
after all accesses are done. For emac_rx_packet_zc(), move the free to
the end of the loop body after emac_dispatch_skb_zc() (which calls
emac_rx_timestamp()) has returned.
📍 영향받는 시스템
Linux kernel (net: ti: icssg-prueth driver components)
⚔️ 공격 벡터
특수하게 조작된 네트워크 패킷을 전송하여 타임스탬프 처리 경로를 유도함으로써 발생
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 디스크립터 해제 시점을 수정해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인