CVE-2026-13735 in Zephyrinfo

Zusammenfassung

von VulDB • 29.08.2026

Die WireGuard-Implementierung von Zephyr in subsys/net/lib/wireguard/wg_crypto.c behandelte Keepalive-Pakete fehlerhaft. In wg_process_data_message() wurde jede Transport-Daten-Nachricht vom Typ 4, deren Nutzlast genau 16 Bytes betrug (ein leerer Klartext plus ein reiner Poly1305-Tag, d.h. ein Keepalive), akzeptiert und sofort zurückgegeben, bevor wg_decrypt_packet() überhaupt aufgerufen wurde. Der Poly1305-Authentifizierungs-Tag wurde daher niemals überprüft; die einzigen vorangehenden Prüfungen waren eine Klartext-Empfängerindex-Suche (get_peer_keypair_for_index() für den vom Angreifer bereitgestellten data_hdr->receiver) und eine nicht-kryptografische Gültigkeits-/Ablaufprüfung des Schlüssel-Paars.

Der Pfad ist vollständig über das Netzwerk erreichbar: eingehender UDP-Verkehr am WireGuard-Port wird von wg_input() an handle_transport_data() und dann an wg_process_data_message() weitergeleitet. Der 32-Bit-Empfängerindex wird im Klartext in WireGuard-Handshake- und Daten-Nachrichten übertragen, sodass ein on-path Observer ihn direkt erfährt und ein off-path Angreifer ihn gegen den UDP-Port bruteforcen kann. Bei einer aktiven, empfangsgültigen Sitzung für diesen Index könnte ein Angreifer eine 16-Byte-Garbage-Nutzlast senden und diese ohne Besitz des Sitzungsschlüssels akzeptieren lassen.

Bei der Akzeptanz verursachte die nicht authentifizierte Nachricht, dass die Management-Schicht ein gespoofetes NET_EVENT_VPN_CONNECTED-Signal beobachtete (Einstellung von peer->first_valid und Benachrichtigung aller net_mgmt-Listener) sowie den Keepalive-RX-Zähler erhöhte. Die Auswirkung ist auf die Integrität dieses Statussignals beschränkt: Es wird kein Klartext entschlüsselt oder injiziert, es werden keine Schlüssel offengelegt, und der Early-Return-Pfad hat weder den Peer-Endpoint noch die Liveness-Timer aktualisiert, sodass es zu keiner Traffic-Injection, Session-Takeover oder Verfügbarkeitsbeeinträchtigung kommt.

Die Korrektur entfernt das vor dem Entschlüsseln stattfindende frühe Zurückkehren (early return), sodass eine 16-Byte-Nutzlast durch wg_decrypt_packet() fließt, welches den Poly1305-Tag über den leeren Klartext überprüft, gefolgt von der bestehenden Anti-Replay-Prüfung; nur eine authentifizierte und nicht replaysierte Nachricht wird dann als Keepalive anerkannt. Gefälschte Keepalives schlagen nun die Tag-Überprüfung fehl und werden als Entschlüsselungsfehler gezählt.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Zephyr

Reservieren

29.06.2026

Veröffentlichung

29.08.2026

Moderieren

akzeptiert

Eintrag

VDB-396932

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Want to stay up to date on a daily basis?

Enable the mail alert feature now!