🇰🇷 한글 설명
Linux 커널의 mlx5e 드라이버에서 IPSec ASO 컨텍스트에 대한 동시 접근을 방지하지 못하는 레이스 컨디션 취약점이 발견되었습니다. ASO 스핀락이 하드웨어 처리가 완료되기 전에 해제되어 공유 DMA 영역의 컨텍스트가 덮어씌워질 수 있으며, 이로 인해 데이터 오염 및 예기치 않은 동작이 발생할 수 있습니다.
💡 쉬운 설명
여러 작업이 동시에 같은 메모리 공간을 사용하려고 할 때, 앞선 작업이 끝나기도 전에 다음 작업이 데이터를 덮어버리는 문제가 있습니다. 이로 인해 네트워크 보안 설정이 꼬이거나 잘못된 결과가 나올 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5e: Prevent concurrent access to IPSec ASO context
The query or updating IPSec offload object is through Access ASO WQE.
The driver uses a single mlx5e_ipsec_aso struct for each PF, which
contains a shared DMA-mapped context for all ASO operations.
A race condition exists because the ASO spinlock is released before
the hardware has finished processing WQE. If a second operation is
initiated immediately after, it overwrites the shared context in the
DMA area.
When the first operation's completion is processed later, it reads
this corrupted context, leading to unexpected behavior and incorrect
results.
This commit fixes the race by introducing a private context within
each IPSec offload object. The shared ASO context is now copied to
this private context while the ASO spinlock is held. Subsequent
processing uses this saved, per-object context, ensuring its integrity
is maintained.
📍 영향받는 시스템
Linux kernel (mlx5e driver 사용 시스템)
⚔️ 공격 벡터
동시적인 IPSec 오프로드 요청을 통한 레이스 컨디션 유발
🛡️ 대응 방법
IPSec 오프로드 객체별로 개별 컨텍스트를 사용하는 최신 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.