Linux 커널에서는 다음 취약점이 해결되었습니다. net: ti: icssg-prueth: ZC RX 디스패치에서 누락된 데이터 복사 및 잘못된 재활용 수정 emac_dispatch_skb_zc()는 napi_alloc_skb()를 통해 새 skb를 할당하지만 XDP 버퍼의 패킷 데이터를 절대 복사하지 않습니다. skb는 대신 초기화되지 않은 힙 메모리가 포함된 스택을 전달했습니다. 실제 수신된 패킷으로 인해 커널 힙 내용이 사용자 공간으로 유출됩니다. XDP 버퍼에서 수신된 패킷 데이터를 다음을 사용하여 skb에 복사합니다. skb
Linux 커널에서는 다음 취약점이 해결되었습니다.
net: ti: icssg-prueth: ZC RX 디스패치에서 누락된 데이터 복사 및 잘못된 재활용 수정
emac_dispatch_skb_zc()는 napi_alloc_skb()를 통해 새 skb를 할당하지만 XDP 버퍼의 패킷 데이터를 절대 복사하지 않습니다. skb는 대신 초기화되지 않은 힙 메모리가 포함된 스택을 전달했습니다. 실제 수신된 패킷으로 인해 커널 힙 내용이 사용자 공간으로 유출됩니다.
XDP 버퍼에서 수신된 패킷 데이터를 다음을 사용하여 skb에 복사합니다. skb_copy_to_linear_data().
또한 skb가 다음과 같으므로 skb_mark_for_recycle() 호출을 제거하세요. page_pool이 아닌 NAPI 페이지 조각 할당자에 의해 지원됩니다. 마킹 재활용을 위한 non-page_pool skb로 인해 사용 가능한 경로가 페이지를 반환하게 됩니다. 이를 소유하지 않은 page_pool로 인해 page_pool 상태가 손상되었습니다.
ZC가 아닌 경로(emac_rx_packet)에는 이러한 문제가 없습니다. napi_build_skb()를 사용하여 기존 page_pool 페이지를 직접 래핑합니다. 복사가 필요하지 않으며 페이지가 제공되므로 재활용 표시가 올바르게 표시됩니다. page_pool_dev_alloc_pages()에서.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 98.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 98.00 |
VPI 공식 vpi-v1 기준