Wie viele CVEs führt die NVD für meine Zephyr-Version?
Gezählt sind CVEs, deren NVD-Konfiguration die Version als verwundbar führt, abgefragt am 23.10.2026 über die NVD-API, ohne zurückgezogene Einträge. NVD führt Zephyr unter cpe:2.3:o:zephyrproject:zephyr; die ältere Form mit a: ist im CPE-Wörterbuch abgelöst und lieferte keinen Treffer. Zwei Treffer, die nur Release-Kandidaten betreffen, sind herausgerechnet.
Die CVSS-Wertung ist die der NVD, sonst die der Zephyr-CNA. Die NVD wertet höher: CVE-2026-10666 (parse_ipv4) hat bei der NVD 9,8, bei Zephyr 8,1.
| Version, Erscheinungsdatum | CVEs laut NVD, davon CVSS ab 9,0 |
|---|---|
| 1.14.0, 16.04.2019 (LTS 1) | 105 CVEs, davon 20 ab 9,0 |
| 2.7.0, 17.10.2021 (LTS 2) | 94 CVEs, davon 15 ab 9,0 |
| 2.7.6, 01.03.2024 (letzte LTS 2) | 92 CVEs, davon 15 ab 9,0 |
| 3.7.0, 26.07.2024 (LTS 3) | 64 CVEs, davon 4 ab 9,0 |
| 3.7.2, 31.03.2026 (aktuelle LTS 3) | 57 CVEs, davon 4 ab 9,0 |
| 4.3.1, 23.06.2026 | 51 CVEs, davon 1 ab 9,0 |
| 4.4.0, 14.04.2026 | 60 CVEs, davon 1 ab 9,0 |
| 4.4.2, 07.08.2026 (neueste der Linie 4.4) | 26 CVEs, keine ab 9,0; die Korrekturen sind nach Angabe des Projekts in 4.4.2 zurückportiert |
| 4.5.0, 28.10.2026 (neueste) | 0 Treffer (NVD-Abfrage 01.11.2026). Keine Entwarnung: Lücken in 4.5.0 zählen erst, wenn die NVD ihre CVE konfiguriert hat |
curl -s "https://services.nvd.nist.gov/rest/json/cves/2.0?virtualMatchString=cpe:2.3:o:zephyrproject:zephyr:3.7.2&noRejected" \
| jq .totalResults57curl -s "https://services.nvd.nist.gov/rest/json/cves/2.0?virtualMatchString=cpe:2.3:o:zephyrproject:zephyr:4.4.2&noRejected" \
| jq .totalResults26Warum zählt die NVD für Patch-Releases zu viele CVEs?
Zephyr behebt eine Lücke im Hauptzweig und portiert die Korrektur in die gepflegten Zweige zurück, 2026 nach v4.4, v4.3 und v3.7. NVD konfiguriert die CVE aber meist mit einem Bereich bis vor der nächsten Hauptversion, etwa „ab 2.5.0, vor 4.5.0“. Damit zählt jedes Patch-Release der Linie mit, auch wenn die Korrektur schon darin steckt.
Nachgeprüft an CVE-2026-10634 (Use-after-free in net_tcp_foreach()): NVD führt den Bereich bis vor 4.5.0. Der Backport (Pull Request 107289, gemergt am 22.04.2026) ist laut GitHub in 4.4.2 enthalten, in 4.4.0 nicht. Für 4.4.2 zählt NVD diese CVE trotzdem.
Für 4.4.2 trifft das auf alle 26 CVEs zu: Bei jeder nennt die Liste des Projekts einen Backport nach v4.4, und jeder dieser Backports ist laut GitHub in 4.4.2 enthalten.
Für 3.7.2 sieht es anders aus. Von den 57 CVEs ist die Korrektur bei neun schon in 3.7.2 enthalten. Bei 37 liegt sie im Zweig v3.7, wurde aber erst nach 3.7.2 gemergt; 36 davon stecken im Release-Kandidaten 3.7.3-rc1 vom 06.08.2026. Bei elf nennt die Liste keinen Backport nach 3.7.
gh api repos/ zephyrproject-rtos/ zephyr/ compare/ v4.4.2...168295f5a16d \
-q .statusbehindWelche vier CVEs ab 9,0 hat Zephyr 3.7.2?
Alle vier betreffen den Netzwerk-Stack. Zwei sind in 3.7.2 schon korrigiert, zwei erst im Zweig v3.7 danach.
| CVE, CVSS | Was, Voraussetzung, Stand in 3.7.2 |
|---|---|
| CVE-2026-10666, 9,8 | Stack-Überlauf in parse_ipv4() bei Adressen der Form „a.b.c.d:port“, erreichbar über getaddrinfo und die DNS-Konfiguration. In 3.7.2 offen; die Korrektur steckt in 3.7.3-rc1. |
| CVE-2026-1678, 9,8 | dns_unpack_name() schreibt bei einer präparierten DNS-Antwort hinter den Puffer. Nur mit CONFIG_DNS_RESOLVER. In 3.7.2 korrigiert. |
| CVE-2026-5067, 9,8 (Wertung von Zephyr) | HTTP-Server: ein Sec-WebSocket-Key ohne Nullterminierung beschädigt beim WebSocket-Upgrade den Stack. Nur mit CONFIG_HTTP_SERVER_WEBSOCKET. In 3.7.2 offen; die Korrektur steckt in 3.7.3-rc1. |
| CVE-2025-1675, 9,1 | dns_copy_qname() kopiert ein Feld aus dem Paket, ohne die Länge des Quellpuffers zu prüfen. In 3.7.2 korrigiert (Backport vom 04.12.2024). |
Welche Zephyr-Version steckt im nRF Connect SDK?
Das nRF Connect SDK von Nordic holt Zephyr aus dem eigenen Repository sdk-zephyr, festgelegt in west.yml. In allen geprüften Versionen bis 3.3 ist das ein Stand mit der Endung .99. Laut Release-Prozess von Zephyr markiert x.y.99 den Hauptzweig, nachdem die Arbeit an der nächsten Nebenversion begonnen hat. Ein solcher Stand ist kein Zephyr-Release; die NVD-Zahl der benachbarten Version ist dafür nur ein Ausgangspunkt. Seit nRF Connect SDK 3.4.0 steht dort ein Release.
| nRF Connect SDK, Erscheinungsdatum | Zephyr-Version in sdk-zephyr |
|---|---|
| 3.4.1, 17.09.2026 | 4.4.2 (NVD: 26 CVEs) |
| 3.4.0, 01.07.2026 | 4.4.0 (NVD: 60 CVEs) |
| 3.3.4, 03.08.2026 | 4.3.99 |
| 3.2.4, 11.03.2026 | 4.2.99 |
| 3.1.1, 17.09.2025 | 4.1.99 |
| 3.0.2, 01.07.2025 | 4.0.99 |
| 2.9.2, 27.05.2025 | 3.7.99 |
| 2.8.0, 14.11.2024 | 3.7.99 |
| 2.7.0, 04.07.2024 | 3.6.99 |
| 2.6.5, 03.03.2026 | 3.5.99 |
curl -s https:/ / raw.githubusercontent.com/ nrfconnect/ sdk-nrf/ v3.3.4/ west.yml \
| grep -A2 "name: zephyr$"; \
curl -s https:/ / raw.githubusercontent.com/ nrfconnect/ sdk-zephyr/ ncs-v3.3.4/ VERSION \
| head -3Ausgabe
- name: zephyr
repo-path: sdk-zephyr
revision: ncs-v3.3.4
VERSION_MAJOR = 4
VERSION_MINOR = 3
PATCHLEVEL = 99Welche Zephyr-CVEs fehlen in der NVD-Versionsabfrage?
Die Zephyr-CNA hat am 23.10.2026 308 CVEs in der NVD. 124 davon haben noch keine Konfiguration (Status etwa „Awaiting Analysis“) und zählen bei keiner Version mit. Die eigene Liste des Projekts, „Vulnerabilities“ in der Zephyr-Dokumentation, nennt je CVE die Korrektur und die Backports je Zweig.
Für eine Zephyr-Version heißt das: lesen Sie die Liste des Projekts gegen Ihre Linie. Die NVD-Zahl allein ist für Patch-Releases zu hoch und für neue Lücken zu niedrig.
Welche Zephyr-Linien bekommen Korrekturen?
Laut Release-Prozess erscheinen LTS-Releases alle 2,5 bis 3 Jahre und werden etwa fünf Jahre gepflegt, die ersten zwei Jahre mit allgemeinen Fehlerkorrekturen, danach nur noch mit Sicherheits- und Stabilitätskorrekturen. „Support for a given LTS release (LTS N) continues until the initial release of the LTS two versions ahead (LTS N+2).“ Seit 2026 erscheinen Releases im April und im Oktober.
| Linie | Stand 01.11.2026 |
|---|---|
| 4.4 | Gepflegt. Neueste Version 4.4.2 vom 07.08.2026. |
| 4.5 | Aktuelles stabiles Release. 4.5.0 vom 28.10.2026. |
| 3.7 LTS | Gepflegt. Neueste Version 3.7.2 vom 31.03.2026, 3.7.3 als Release-Kandidat. |
| 2.7 LTS | Abgekündigt. Letztes Release 2.7.6 vom 01.03.2024. |
| 1.14 LTS | Abgekündigt. |
Wo steht die Zephyr-Version in meiner Firmware?
Im Quellbaum steht die Version in der Datei VERSION (VERSION_MAJOR, VERSION_MINOR, PATCHLEVEL). Daraus erzeugt der Build include/generated/zephyr/version.h mit KERNEL_VERSION_STRING und BUILD_VERSION; BUILD_VERSION ist die Ausgabe von git describe, also „v4.4.2“ oder eine Form mit Commit-Hash.
Im Build steht die Version im Boot-Banner, das kernel/banner.c als einen zusammenhängenden Text ausgibt: „*** Booting Zephyr OS build v4.4.2 ***“. Das Banner ist standardmäßig an (CONFIG_BOOT_BANNER=y); ein Hersteller kann es abschalten oder den Text CONFIG_BOOT_BANNER_STRING ändern. sys_kernel_version_get() liefert dagegen eine Zahl, die strings nicht findet.
curl -s https:/ / raw.githubusercontent.com/ zephyrproject-rtos/ zephyr/ v4.4.2/ kernel/ banner.c \
| grep "Booting\|CONFIG_BOOT_BANNER_STRING"Ausgabe
printk("*** " CONFIG_BOOT_BANNER_STRING " " BANNER_VERSION BANNER_POSTFIX " ***\n");Wie prüfe ich das von Hand?
- 1
Version lesen:
strings -a zephyr.elf | grep "Booting Zephyr", im Projekt ausVERSIONoderversion.h. - 2
Linie zuordnen: gepflegt sind 4.5, 4.4 und die LTS-Linie 3.7.
- 3
NVD abfragen mit
cpe:2.3:o:zephyrproject:zephyr:<Version>. - 4
Die Liste „Vulnerabilities“ des Projekts gegen Ihre Linie lesen: sie nennt Backports, die NVD nicht abbildet, und CVEs, die in der NVD noch ohne Konfiguration sind.
- 5
Konfiguration prüfen: viele Lücken betreffen den Netzwerk-Stack, Bluetooth oder den HTTP-Server und setzen voraus, dass das Subsystem im Build ist (
prj.conf,.config). Für die kritischen CVEs in 3.7.2 sind das etwaCONFIG_DNS_RESOLVERundCONFIG_HTTP_SERVER_WEBSOCKET. - 6
Beim nRF Connect SDK die Zephyr-Version aus
west.ymlund der DateiVERSIONinsdk-zephyrlesen. - 7
Den KEV-Katalog der CISA auf aktiv ausgenutzte Lücken prüfen.
Geht das auch automatisch?
LegacyMind liest aus dem Build das RTOS und die gelinkten Bibliotheken mit ihren Versionen und gleicht jede gegen die Schwachstellenquellen ab, mit der Fundstelle im Build. Belegt das Binary keine Version, bleibt das Feld leer.
Häufige Fragen
Welche Zephyr-Version sollte ich einsetzen?
Die neueste Version einer gepflegten Linie, Stand 01.11.2026 also 4.5.0, in der Linie 4.4 die 4.4.2 oder für LTS 3.7.2. Für 3.7 steht 3.7.3 als Release-Kandidat bereit.
Bekommt Zephyr 2.7 LTS noch Sicherheitskorrekturen?
Nein. Die LTS-Linie 2.7 ist abgekündigt, 2.7.6 vom 01.03.2024 war ihr letztes Release. NVD führt dafür am 23.10.2026 92 CVEs.
Wird eine Zephyr-Lücke aktiv ausgenutzt?
Stand 23.10.2026 steht keine Zephyr-Lücke im Katalog aktiv ausgenutzter Schwachstellen der CISA (Katalogversion 2026.10.23).
Gilt das auch für das nRF Connect SDK?
Das nRF Connect SDK bringt einen eigenen Stand von Zephyr mit. Version 3.4.1 legt Zephyr 4.4.2 fest, 3.3.4 einen Stand 4.3.99, also zwischen 4.3 und 4.4. Maßgeblich ist die Zephyr-Version darin und welche Korrekturen Nordic übernommen hat; die NVD-Zahl der Zephyr-Version ist dafür nur ein Ausgangspunkt.
Ist Zephyr 3.7.2 von CVE-2026-10666 betroffen?
Ja. Die Korrektur liegt im Zweig v3.7, wurde am 19.05.2026 gemergt und steckt im Release-Kandidaten 3.7.3-rc1, nicht in 3.7.2. In 4.4.2 ist sie enthalten.