[공격] 분석 — CVE-2025-68776
CVE-2025-68776 is a null‑pointer dereference in the Linux kernel HSR module that can be triggered by crafted PRP packets, leading to a remote denial‑of‑service; immediate mitigation is to unload or blacklist the hsr module until the upstream fix is applied.
📋 요약
- 심각도 미상 · CVSS 미상 · EPSS 0.00177 · 악용난이도 hard
🔍 공격 기법
- 공격 표면: Ethernet 인터페이스에 바인드된 HSR(High‑availability Seamless Redundancy) 모듈이 로드된 Linux 커널. 프레임은 PRP(Parallel Redundancy Protocol) 형식이며
prp_get_untagged_frame()함수가 호출되는 경로에 위치한다. - 트리거 조건: 공격자는 특수히 변조한 PRP 패킷을 전송한다. 패킷 내부 길이/옵션 조작으로 커널이
__pskb_copy()호출 시 메모리 할당에 실패하도록 유도하거나, 의도적으로 대용량/비정상적인 페이로드를 삽입해 할당 압박을 만든다. - 실행 흐름:
- 정찰 – 네트워크 스캔(ARP/NDP)으로 HSR 모듈이 활성화된 호스트 탐색.
ethtool -i <iface>혹은 커널 로그에서 “HSR” 문자열 검색 가능. - 초기 접근 – 위 호스트에 PRP 프레임 전송(예: raw socket, scapy). 패킷 헤더에 비정상적인 VLAN/PRP tag 길이를 삽입해
prp_get_untagged_frame()내부 로직이 복사 단계로 진입하도록 함. - 취약점 발동 –
__pskb_copy()가 NULL 반환 → 바로 뒤의skb_clone(NULL, ...)호출에서 null‑ptr‑deref 발생 → 커널 panic (General Protection Fault). - 영향 – 커널 패닉으로 시스템 전체 가용성 상실(리부팅 필요), 서비스 연속성 파괴. 권한 상승·지속은 불가능하지만, 원격 DoS가 즉시 실현됨.
- 정찰 – 네트워크 스캔(ARP/NDP)으로 HSR 모듈이 활성화된 호스트 탐색.
- CVSS 추정 벡터 (공격 조건 기반): AV=N (네트워크), AC=L (단순 패킷 전송), PR=N (비특권), UI=N → 실제 공격 난이도는 “hard”라 평가되었으나, 성공 시 영향은 “high”.
- 우회 포인트: 모듈 로드가 차단되지 않은 경우에만 유효. 커널 메모리 압박을 인위적으로 만들 필요가 있으므로, 동일 호스트에서 메모리 고갈 공격과 결합하면 성공 확률이 상승한다.
악용 가능성: 이 취약은 AV = Network, AC = High, PR = Low, UI = None 으로 평가되며, 원격에서 임의의 패킷을 전송할 수 있더라도 prp_get_untagged_frame() 내부의 메모리 할당이 실패하도록 만들기가 매우 어렵습니다. 실제 공격은 HSR/PRP 인터페이스가 활성화된 커널에 한정되며, 해당 함수는 네트워크 스택에서 수신된 Ethernet 프레임을 복제할 때 __pskb_copy() 의 반환값을 검증하지 않아 NULL이 전달될 경우 skb_clone() 에서 널 포인터 역참조가 발생합니다. 따라서 공격 표면은 net/hsr 모듈이 로드된 시스템의 HSR‑PRP 네트워크 인터페이스와, 수신 패킷 헤더·길이에 영향을 주는 파라미터(예: 프레임 길이, VLAN 태그)뿐이며, 일반적인 TCP/UDP 포트와는 무관합니다. 이 결함을 이용하려면 메모리 압박 상황이나 특정 커널 옵션(예: CONFIG_HSR 활성화) 하에서 의도적으로 할당 실패를 유발해야 하는데, 이는 정상 운영 환경에서는 거의 발생하지 않아 공격 난이도가 높게 평가됩니다. EPSS가 0.00177 로 매우 낮지만 완전히 0은 아니므로, 일부 특수한 테스트·퍼징 환경(예: syzkaller)에서 재현 가능함을 보여줍니다. KEV에 등재되지 않은 점 역시 현재까지 실제 악용 사례가 보고되지 않았음을 의미하지만, 공격자가 로컬 권한을 확보하고 메모리 압박을 조작할 수 있다면 서비스 거부(DoS)로 전환될 여지는 존재합니다.
💥 영향 분석
- 시스템 가용성:
skb_clone호출 시 null‑ptr‑deref 로 인해 커널 OOPS 발생 → 전체 시스템 다운 및 재부팅 필요. - 서비스 연속성: 네트워크 스위치·산업 제어망 등 HSR가 핵심 백본에 사용되는 경우, 단일 호스트 장애가 전체 라인 가용성을 저해할 수 있음.
- 복구 비용: 커널 패닉 복구는 재부팅 및 로그 분석이 필요하므로 운영 중단 시간이 길어짐.
🔗 관련 취약점·체이닝
- 동일 모듈 내 메모리 할당 결함:
__pskb_copy()반환값 검증 누락은 HSR 외에도 다른 net‑stack 함수에서 유사하게 존재할 가능성이 있음(추정). - 메모리 압박 기반 DoS와 연계: 대용량 UDP/DDoS 공격으로 시스템 메모리를 고갈시킨 뒤 PRP 패킷을 전송하면
__pskb_copy()실패 확률이 상승한다(전형적인 “Resource Exhaustion → Null‑ptr Deref” 체인). - 커널 모듈 로드 우회: 악성 사용자 공간 프로그램이
modprobe를 이용해 HSR 모듈을 동적으로 로드한 뒤 위 패킷을 전송하면, 초기 권한이 제한된 상태에서도 DoS가 가능하다(권한 상승 없이도 가용성 파괴).
🔎 탐지
- 커널 로그:
dmesg혹은 syslog에 “Oops: general protection fault”, “null‑ptr‑deref in prp_get_untagged_frame” 또는 KASAN 보고서(KASAN: null-ptr-deref)가 반복적으로 나타나는 경우. - 네트워크 트래픽: PRP 태그를 포함한 비정상적인 Ethernet 프레임이 급증하면
tcpdump -e -nn 'ether proto 0x88fb'(HSR/PRP 프로토콜) 로 필터링해 의심 패킷을 캡처. - 시스템 안정성 지표: 갑작스러운 재부팅, OOM Killer 호출 증가,
uptime이 비정상적으로 짧아지는 현상.
🛡️ 완화 방안
- 즉시 조치
- HSR 모듈 언로드:
modprobe -r hsr혹은/etc/modprobe.d/blacklist.conf에blacklist hsr추가 후 재부팅. - 불필요한 PRP 트래픽 차단: 스위치 레벨에서 VLAN/HSR 포트 비활성화 또는 ACL 적용.
- HSR 모듈 언로드:
- 근본 해결
- 커널 업데이트: upstream 패치를 포함하는 Linux kernel ≥ <패치가 적용된 버전>으로 업그레이드(패치 내용:
if (!skb) return NULL;검증 추가).
- 커널 업데이트: upstream 패치를 포함하는 Linux kernel ≥ <패치가 적용된 버전>으로 업그레이드(패치 내용:
- 보조 방어
- 메모리 압박 모니터링: cgroup·memcg로 시스템 전체 메모리 사용량 제한, OOM 이벤트 알림 설정.
- 로그 기반 자동 경보:
auditd혹은 SIEM에 “null‑ptr‑deref in prp_get_untagged_frame” 패턴을 추가해 실시간 알림.
근거: 다중 소스 교차검증 결과 해당 결함이 일관되게 보고됐으며, EPSS 0.00177(실측 악용 가능성)과 hard 난이도 판단에 따라 우선순위는 “monitor”로 지정되었습니다. 비록 CVSS가 부재하지만 실제 커널 패닉 위험이 존재하므로 위 완화·탐지 조치를 즉시 적용하는 것이 권장됩니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=미상 · non-KEV · EPSS=0.00177 · exploit=hard · in_scope=None