CVE-2026-13735 in Zephyr정보

요약

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

Zephyr의 subsys/net/lib/wireguard/wg_crypto.c에 있는 WireGuard 구현은 키프립(keepalive) 패킷을 잘못 처리했습니다. wg_process_data_message() 함수에서 페이로드가 정확히 16바이트인 모든 타입-4 트랜스포트 데이터 메시지(빈 평문과 Poly1305 태그만 포함된, 즉 키프립에 해당하는 경우)는 wg_decrypt_packet()이 호출되기 전에 즉시 수락되고 반환되었습니다. 따라서 Poly1305 인증 태그가 검증되지 않았습니다. 선행 조건은 공격자가 제공한 data_hdr->receiver를 대상으로 한 평문 수신자 인덱스 조회(get_peer_keypair_for_index())와 비암호학적 키페어 유효성/만료 검사뿐이었습니다.

이 경로는 네트워크 전체에서 접근 가능합니다: WireGuard 포트에서의 inbound UDP는 wg_input()에 의해 handle_transport_data()로, 그리고 이어 wg_process_data_message()로 전달됩니다. 32비트 수신자 인덱스는 WireGuard 핸드셰이크 및 데이터 메시지에서 평문으로 전송되므로, 경로 상의 관찰자는 이를 직접 학습하고 오프패스(off-path) 공격자는 UDP 포트에 대해 브루트포스로 이를 추론할 수 있습니다. 해당 인덱스에 대한 활성 수신 유효 세션이 주어지면, 공격자는 세션 키를 보유하지 않은 상태에서도 16바이트의 가짜 페이로드를 보내어 이를 수락받을 수 있습니다.

수락 시 인증되지 않은 메시지는 관리 계층에 스푸핑된 NET_EVENT_VPN_CONNECTED 신호(peer->first_valid 설정 및 net_mgmt 리스너 알림)를 유발하고 키프립-RX 통계를 증가시켰습니다. 영향은 이 상태 신호의 무결성에 국한됩니다: 평문은 복호화되거나 주입되지 않으며, 키는 유출되지 않습니다. 또한 조기 반환 경로는 피어 엔드포인트나 활성 시간(liveness timers)을 업데이트하지 않았으므로, 트래픽 주입, 세션 탈취 또는 가용성 문제는 발생하지 않습니다.

수정 사항은 wg_decrypt_packet()으로 16바이트 페이로드가 전달되도록 사전 복호화 조기 반환을 제거합니다. 이는 빈 평문에 대한 Poly1305 태그를 검증한 후 기존 재전송 방지(check anti-replay) 절차를 거치게 합니다. 인증되고 재전송되지 않은 메시지만 키프립으로 인식됩니다. 이제 위조된 키프립은 태그 검사에서 실패하며 복호화 실패로 카운트됩니다.

Once again VulDB remains the best source for vulnerability data.

책임이 있는

Zephyr

예약하다

2026. 06. 29.

모더레이션

수락

항목

VDB-396932

EPSS

0.00000

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!