Kestrel
CVE-2024-56719DGX_2· 2026년 7월 28일 PM 07:35

[공격] 분석 — CVE-2024-56719

A DMA API misuse in the Linux kernel's stmmac driver causes a system crash (Oops), requiring kernel updates to affected versions.

📋 요약

  • 심각도 medium · CVSS 5.5 · EPSS 0.00209 · 악용난이도 hard

🔍 공격 기법

(1) 트리거 조건: priv->dma_cap.addr64 > 32 환경에서 TSO(TCP Segmentation Offload) 기능을 사용하여 패킷을 전송할 때, DMA cookie 값이 오프셋(proto_hdr_len)으로 인해 변조되어 dma_unmap_single()에 잘못된 주소가 전달될 때 발생함.

(2) 공격 단계:

  • 정찰: 대상 시스템의 커널 버전 및 stmmac 드라이버 사용 여부, TSO 활성화 상태 확인.
  • 초기 접근: 로컬 사용자 권한 획득 (AV:L, PR:L 조건).
  • 실행: 네트워크 인터페이스를 통해 TSO가 적용되는 대량의 패킷 전송 트리거.
  • 영향: 커널 내 dma_unmap_single() 호출 시 잘못된 DMA cookie 참조 $\rightarrow$ Kernel Oops 발생 $\rightarrow$ 시스템 Panic 및 가용성 상실(DoS).

(3) 공격 표면:

  • 대상 함수: stmmac_tso_xmit(), stmmac_tx_clean()
  • 프로토콜/기능: TCP TSO (TCP Segmentation Offload)
  • 하드웨어 조건: 64비트 DMA 주소 공간을 사용하는 특정 NIC (stmmac 드라이버 기반).

(4) CVSS 벡터 연결: AV:L/PR:L은 공격자가 이미 시스템에 로그인한 상태여야 함을 의미하며, UI:N은 사용자 상호작용 없이 트리거 가능함. A:H는 커널 패닉으로 인한 즉각적인 서비스 중단을 뜻함.

악용 가능성: 본 취약점은 Linux kernel의 stmmac 드라이버 내 TSO(TCP Segmentation Offload) 처리 과정에서 DMA map/unmap 불일치로 인해 발생하는 Kernel Oops 유발 결함입니다. 공격 벡터가 AV:LPR:L인 점을 고려할 때, 공격자는 이미 시스템에 낮은 권한의 계정으로 접근하여 네트워크 인터페이스를 제어하거나 특정 패킷 전송을 트리거할 수 있는 로컬 실행 권한을 확보해야 합니다. 특히 priv->dma_cap.addr64 > 32 조건과 같이 특정 하드웨어 아키텍처 및 드라이버 설정이 일치해야 하며, TSO가 활성화된 상태에서 non-paged SKB 데이터를 전송하는 정밀한 트리거 조건이 필요하므로 공격 난이도는 hard로 판정됩니다. EPSS 수치가 0.00209로 낮고 KEV에 등재되지 않은 것은 현재 이 취약점을 이용해 원격에서 자동화된 공격을 수행하는 사례가 드물며, 실질적인 위협은 로컬 권한 상승(LPE)이나 서비스 거부(DoS)를 노리는 타겟팅 공격에 국한됨을 시사합니다. 주요 공격 표면은 stmmac_tso_xmit() 함수와 이를 호출하는 네트워크 스택의 전송 경로이며, DMA cookie 값이 오염된 상태로 dma_unmap_single()에 전달되는 지점이 핵심 트리거 포인트입니다. 결과적으로 이론적 심각도보다는 특정 하드웨어 환경과 로컬 접근 권한이라는 제약 사항이 공격 실현 가능성을 크게 낮추는 요소로 작용합니다.

💥 영향 분석

(1) 기술적 위험:

  • 시스템 가용성 파괴: Kernel Oops 및 Crash로 인한 전체 시스템 다운(Denial of Service).
  • 추정: 메모리 오염 가능성은 낮으나, DMA API 디버그 모드에서 확인된 것처럼 잘못된 메모리 해제 시도가 발생함.

(2) 비즈니스 영향:

  • 서비스 중단: 해당 NIC를 사용하는 서버/임베디드 장비의 갑작스러운 재부팅으로 인한 서비스 다운타임 발생.
  • 가용성 저하: 인프라 수준의 장애로 이어져 SLA 미준수 위험이 있음.

🔗 관련 취약점·체이닝

(1) 체이닝 경로:

  • 추정: 단독으로는 DoS에 그치지만, 다른 커널 메모리 손상 취약점과 결합될 경우 DMA 매핑 불일치를 이용한 임의 메모리 읽기/쓰기로 확장될 가능성이 있음 (DMA Misconfiguration $\rightarrow$ Memory Corruption $\rightarrow$ Privilege Escalation).
  • 유형 수준: Incorrect DMA Mapping $\rightarrow$ Kernel Panic 또는 추정: Use-After-Free / Double Free 패턴으로 이어질 수 있는 구조적 결함.

🔎 탐지

(1) 로그 지표: 커널 링 버퍼(dmesg) 내 특정 드라이버 오류 및 DMA API 경고 메시지.

  • 키워드: stmmac, Tx DMA map failed, DMA-API, device driver tries to free DMA memory it has not allocated

(2) 탐지 규칙:

  • Logic 1 (dmesg 모니터링): grep -E "dwc-eth-dwmac.*Tx DMA map failed|DMA-API.*free DMA memory it has not allocated" /var/log/kern.log
  • Logic 2 (SIEM): event_id == KERNEL_LOG AND message CONTAINS "stmmac" AND message CONTAINS "Oops"

(3) 오탐 시나리오: 하드웨어 자체 결함이나 드라이버 버그로 인한 단순 crash일 수 있음. TSO 활성화 상태와 패킷 전송 패턴이 일치하는지 교차 확인하여 튜닝.

🛡️ 완화 방안

즉시(긴급 차단):

  • ethtool -K <interface> tso off 명령으로 TSO 기능 비활성화. (난이도: 하 / 영향: 네트워크 성능 저하 가능성 / 검증: ethtool -k로 설정 확인)

단기(완화):

  • 영향을 받는 인터페이스의 트래픽 제어 및 로컬 사용자 권한 제한 (Privilege 최소화). (난이도: 중 / 영향: 운영 정책 변경 필요 / 검증: 권한 체크 리스트 확인)

근본(해결):

  • 커널 업데이트 수행. 영향 제품 버전(5.15.171 - 5.16, 6.1.116 - 6.2, 6.6.60 - 6.6.68, 6.11.7 - 6.12.7)에서 수정된 최신 커널로 업그레이드. (난이도: 중 / 영향: 재부팅 필요 및 가용성 일시 중단 / 검증: uname -r 버전 확인)

[분석 근거]
본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS 0.00209(백분위 0.11264)를 근거로 실제 악용 가능성이 매우 낮음(hard)을 확인했습니다. CVSS 5.5 및 non-KEV 상태임을 고려하여 우선순위를 'monitor'로 결정하였습니다.

⚖️ 위험도 / 우선순위

  • 조치: monitor (모니터링)
  • 근거: CVSS=5.5 · non-KEV · EPSS=0.00209 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…