CVE-2026-72072 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 15.

리눅스 커널에서 다음 취약점이 해결되었습니다:

net/mlx5e: macsec: RX SC 삭제 시 metadata_dst의 use-after-free 수정

오프로드된 MACsec RX SC가 삭제될 때, macsec_del_rxsc_ctx()는 metadata_dst_free()를 사용하여 per-SC metadata_dst를 해제합니다. 이는 객체를 무조건적으로 kfree()하며 dst 참조 카운트를 무시합니다. mlx5e_macsec_offload_handle_rx_skb()의 RX 데이터 패스는 xa_load()를 통해 rcu_read_lock() 하에서 SC를 조회하고, dst_hold()로 참조를 획득한 후 skb_dst_set()을 사용하여 dst를 skb에 연결합니다. 이미 rx_sc 포인터를 확보한 리더는 삭제 경로와 경쟁하여 해제된 메모리에서 작동할 수 있습니다.

소스 측 문제를 해결하기 위해 무조건적인 해제가 아닌 dst_release()로 참조를 감소시키고, RX 데이터 패스를 dst_hold_safe()로 변환하여 SC 삭제를 경주하는 리더가 방금 마지막 참조가 해제된 dst에 연결하지 못하도록 합니다; 실제로 참조가 획득되었을 때만 연결합니다.

mlx5e_macsec_add_rxsc()는 rx_sc->md_dst가 할당되고 초기화되기 전에 xa_alloc()를 통해 sc_xarray_element를 게시했으므로, fs_id로 SC를 조회하는 데이터 패스 리더는 md_dst가 여전히 NULL이거나, 약한 순서 지정 아키텍처에서는 내용이 아직 보이지 않는 비-NULL md_dst 포인터를 가진 rx_sc을 관찰할 수 있습니다. 데이터 패스에서 xa_load() 결과와 md_dst에 대해 NULL 체크를 수행하고, add_rxsc()의 순서를 재배열하여 xa_alloc() 게시가 md_dst가 완전히 초기화된 후에만 발생하도록 합니다; 그러면 xarray RCU 게시는 데이터 패스의 rcu_read_lock()/xa_load()와 짝을 이룹니다.

참고: macsec_del_rxsc_ctx()는 동일한 데이터 패스가 rcu_read_lock() 하에서 이를 읽는 동안 rx_sc->sc_xarray_element를 kfree()하며 RCU 그레이스 기간 없이 수행합니다; 이는 별도의 기존 문제로, 후속 패치에 남겨두었습니다.

0sec 자동화 보안 연구 도구(https://0sec.ai)로 발견됨.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

Linux

예약하다

2026. 08. 09.

모더레이션

수락

항목

VDB-390486

EPSS

0.00000

출처

Do you need the next level of professionalism?

Upgrade your account now!