Wie viele CVEs führt die NVD für meine ESP-IDF-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 ESP-IDF unter genau einem Namen, cpe:2.3:a:espressif:esp-idf. Die Zahl ist eine Untergrenze, warum, steht im nächsten Abschnitt.
Die CVSS-Wertung ist die der NVD, sonst die des Herstellers. Beide weichen teils stark voneinander ab: CVE-2025-66409 (AVRCP) wertet NVD mit 9,1, Espressif mit 2,7.
| Version, Erscheinungsdatum | CVEs laut NVD, davon CVSS ab 9,0 |
|---|---|
| 4.4.8, 28.06.2024 (letzte 4.4) | 2, davon 1 ab 9,0 |
| 5.0.9, 22.05.2025 (letzte 5.0) | 1, CVSS 9,1 |
| 5.1.2, 16.11.2023 | 2, davon 1 ab 9,0 |
| 5.1.7, 27.01.2026 (letzte 5.1) | 0 |
| 5.2.6, 01.10.2025 | 10, davon 1 ab 9,0 |
| 5.2.8, 11.09.2026 (letzte 5.2) | 1 |
| 5.3.5, 24.03.2026 | 4 |
| 5.4.4, 17.04.2026 (neueste 5.4) | 4 |
| 5.5.4, 27.03.2026 | 5 |
| 5.3.6, 5.5.6, 6.0.3 (je neueste ihrer Linie) | 0 |
| 6.1, 27.08.2026 | 0. CVE-2026-81508 führt Espressif bei 6.1, die Korrektur 85d56bcd steht aber schon im Tag v6.1; die NVD hat den Eintrag ohne Konfiguration. |
curl -s "https://services.nvd.nist.gov/rest/json/cves/2.0?virtualMatchString=cpe:2.3:a:espressif:esp-idf:5.2.6&noRejected" \
| jq .totalResults10curl -s "https://services.nvd.nist.gov/rest/json/cves/2.0?virtualMatchString=cpe:2.3:a:espressif:esp-idf:5.1.2&noRejected" \
| jq .totalResults2Warum ist die NVD-Zahl für ESP-IDF zu niedrig?
Die Security Advisories im GitHub-Repository von ESP-IDF nennen je Linie die letzte betroffene und die erste korrigierte Version, etwa „vuln=v5.1.6 patched=v5.1.7“. NVD hat viele dieser CVEs als genau diese einzelnen Versionen konfiguriert. CVE-2025-68473 etwa gilt in der NVD nur für 5.1.6, 5.2.6, 5.3.4, 5.4.3 und 5.5.1; frühere Versionen derselben Linien zählen nicht mit. Ob sie betroffen sind, sagt die NVD damit nicht; das Advisory nennt je Linie nur die letzte betroffene Version.
Dazu kommen CVEs ohne NVD-Konfiguration (Status „Deferred“ oder „Awaiting Analysis“). Einige Beschreibungen schreiben das Produkt „ESF-IDF“; eine Stichwortsuche nach „ESP-IDF“ findet sie nicht.
Für eine ESP-IDF-Version heißt das: die NVD-Zahl ist eine Untergrenze. Lesen Sie die Advisories des Projekts und prüfen Sie jede CVE gegen Ihre Linie, nicht nur gegen die genaue Version.
Welche ESP-IDF-CVEs zählen zuerst, und mit welchem Schalter?
Neun CVEs aus den NVD-Listen für 5.2.6 und 5.5.4, nach CVSS laut NVD. Die meisten hängen an einer Funktion, die per Kconfig im Build ist oder nicht. Die Korrekturen stehen in der Beschreibung der CVE oder im Advisory von Espressif.
| CVE, CVSS | Was, Schalter im Build, korrigiert in |
|---|---|
| CVE-2025-66409, 9,1 (Espressif 2,7) | Bluedroid AVRCP: Lesen außerhalb des Puffers bei einem fehlerhaften VENDOR-DEPENDENT-Befehl. Nur mit Classic Bluetooth und A2DP (CONFIG_BT_A2DP_ENABLE, zieht AVRCP mit, Standard aus). Korrigiert in 5.5.2, 5.4.4, 5.3.5, 5.2.7, 5.1.7. |
| CVE-2025-55297, 8,8 | BluFi-Beispiel: Überläufe bei den WLAN-Zugangsdaten und im Diffie-Hellman-Austausch. Betrifft Firmware, die den Code des Beispiels übernommen hat. Korrigiert in 5.4.1, 5.3.3, 5.2.6, 5.1.6, 5.0.9. Die NVD zählt 5.2.6 bis 5.2.8 trotzdem mit. |
| CVE-2026-45328, 8,8 (Espressif 9,3) | ESP-TEE: mehrere Wrapper prüfen nur einen Teil der Zeiger aus der Anwendung, Schreiben außerhalb des Puffers. Nur mit CONFIG_SECURE_ENABLE_TEE. Korrigiert in 5.5.5 und laut Advisory 6.0.2. |
| CVE-2025-68473, 8,6 | Bluedroid, bta_dm_sdp_result(): mehr als 32 gefundene Dienste schreiben über ein festes Array hinaus. Korrigiert wie CVE-2025-66409. |
| CVE-2026-25532, 8,0 | WPS-Enrollee: Integer-Unterlauf bei verkürzten EAP-WSC-Paketen. Nur wenn die Firmware WPS nutzt. Korrigiert in 5.5.3, 5.4.4, 5.3.5, 5.2.7, 5.1.7. |
| CVE-2025-68474, 7,6 | Bluedroid AVRCP, avrc_vendor_msg(): zu kleiner Puffer. Korrigiert wie CVE-2025-66409. |
| CVE-2026-45541, 7,5 | esp_http_server: NULL-Zeiger beim Aushandeln des WebSocket-Subprotokolls, Absturz vor jeder Anmeldung. Nur mit CONFIG_HTTPD_WS_SUPPORT (Standard aus). Korrigiert in 6.0.1, 5.5.5, 5.3.6 und 5.2.7; 5.4.5 ist noch nicht erschienen. |
| CVE-2026-45542, 7,1 | protocomm Security 2 (SRP6a): Heap-Überlauf beim Sitzungsaufbau, etwa beim Provisioning. CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2 ist standardmäßig an. Korrigiert wie CVE-2026-45541. |
| CVE-2026-45160, 6,5 | DHCP-Server von lwIP: Lesen außerhalb des Puffers bei präparierten Optionen, etwa im SoftAP-Betrieb. CONFIG_LWIP_DHCPS ist standardmäßig an. Korrigiert in 6.0.2, 5.5.5, 5.3.6 und 5.2.8; 5.4.5 ist noch nicht erschienen. |
Welche CVEs bringen die Bibliotheken in ESP-IDF mit?
ESP-IDF bringt mbedTLS, lwIP, FreeRTOS und NimBLE als eigene Komponenten mit, teils als Fork von Espressif. NVD führt deren CVEs unter der jeweiligen Bibliothek. Gelesen aus dem Quellbaum je Tag: mbedTLS aus include/mbedtls/build_info.h, lwIP aus src/include/lwip/init.h, FreeRTOS aus tskKERNEL_VERSION_NUMBER in task.h, NimBLE aus sbom.yml im Fork von Espressif. In Klammern die CVEs laut NVD für diese Version der Bibliothek.
| ESP-IDF, Erscheinungsdatum | mbedTLS · lwIP · FreeRTOS · NimBLE |
|---|---|
| 5.1.2, 16.11.2023 | 3.5.0 (32) · 2.1.3 (0) · 10.4.3 (6) · 1.5.0 (15) |
| 5.2.8, 11.09.2026 | 3.6.7 (1) · 2.1.3 (0) · 10.5.1 (5) · 1.5.0 (15) |
| 5.3.6, 15.09.2026 | 3.6.7 (1) · 2.1.3 (0) · 10.5.1 (5) · 1.6.0 (15) |
| 5.4.4, 17.04.2026 | 3.6.5 (11, davon 4 ab 9,0) · 2.2.0 (0) · 10.5.1 (5) · 1.6.0 (15) |
| 5.5.6, 16.10.2026 | 3.6.7 (1) · 2.2.0 (0) · 10.5.1 (5) · 1.6.0 (15) |
| 6.0.3, 02.09.2026 | 4.1.1 (0) · 2.2.0 (0) · 10.5.1 (5) · 1.6.0 (15) |
| 6.1, 27.08.2026 | 4.1.0 (0) · 2.2.0 (0) · 10.5.1 (5) · 1.6.0 (15) |
curl -s https:/ / raw.githubusercontent.com/ espressif/ mbedtls/$(gh api \
"repos/espressif/esp-idf/contents/components/mbedtls/mbedtls?ref=v5.4.4" \
-q .sha)/include/mbedtls/build_info.h \
| grep "define MBEDTLS_VERSION_STRING "Ausgabe
#define MBEDTLS_VERSION_STRING "3.6.5"Was bedeuten die Bibliothekszahlen?
mbedTLS ist der größte Posten. ESP-IDF 5.4.4, das neueste Release der Linie 5.4, bringt mbedTLS 3.6.5 mit. Dafür führt NVD elf CVEs, zehn davon korrigiert in mbedTLS 3.6.6. Der Fork von Espressif in 5.4.4 endet mit Commits vom November 2025; die elf CVEs sind vom April 2026. Die anderen gepflegten Linien bringen mbedTLS 3.6.7 oder 4.1 mit.
Die fünf FreeRTOS-CVEs für 10.5.1 betreffen laut ihrer Beschreibung Ports mit MPU oder TrustZone. lwIP hat für 2.1.3 und 2.2.0 keinen Eintrag in der NVD; die Lücke im DHCP-Server von ESP-IDF (CVE-2026-45160) steht unter ESP-IDF. Für NimBLE 1.5.0 und 1.6.0 führt NVD je 15 CVEs unter apache:nimble.
Welche ESP-IDF-Linien pflegt Espressif?
Laut SUPPORT_POLICY.md wird jede Haupt- und Nebenversion 30 Monate unterstützt: 12 Monate Service, danach 18 Monate Maintenance mit „only bugfixes for high severity issues or security issues“. Abgekündigte Linien bekommen keine Korrekturen mehr.
| Linie | Stand 23.10.2026 |
|---|---|
| 6.1 | Service. Aktuell 6.1 vom 27.08.2026. |
| 6.0 | Service bis 20.03.2027. Aktuell 6.0.3 vom 02.09.2026. |
| 5.5 | Maintenance bis 21.01.2028. Aktuell 5.5.6 vom 16.10.2026. |
| 5.4 | Maintenance bis 05.07.2027. Aktuell 5.4.4 vom 17.04.2026; sechs Advisories nennen als Korrektur ein 5.4.5, das es noch nicht gibt. |
| 5.3 | Maintenance bis 25.01.2027. Aktuell 5.3.6 vom 15.09.2026. |
| 5.2, 5.1, 5.0, 4.4 | Abgekündigt (5.2 seit 11.09.2026, 4.4 seit 31.07.2024). |
Wo steht die ESP-IDF-Version im Image?
Jede ESP-IDF-Anwendung trägt eine Beschreibung esp_app_desc_t (Magic 0xABCD5432) am Anfang des ersten Datensegments, im App-Image an Offset 0x20. Das Feld idf_ver mit der ESP-IDF-Version liegt 112 Byte dahinter, also an Offset 0x90. Gesetzt wird es beim Bauen aus version.txt oder git describe.
Ein öffentliches Release eines verbreiteten Open-Source-Projekts, WLED 16.0.1 vom 07.07.2026 für den ESP32, nennt dort ESP-IDF 4.4.8. Die Linie 4.4 ist seit 31.07.2024 abgekündigt.
python -m esptool image-info WLED_16.0.1_ESP32.bin | grep ESP-IDFAusgabe
ESP-IDF: 4.4.8.240628xxd -s 0x90 -l 16 WLED_16.0.1_ESP32.binAusgabe
00000090: 342e 342e 382e 3234 3036 3238 0000 0000 4.4.8.240628....Wie prüfe ich das von Hand?
- 1
Version lesen:
esptool image-infoauf das App-Image oder die 32 Byte an Offset 0x90. Im Quellbaum stehenESP_IDF_VERSION_MAJOR,_MINORund_PATCHinesp_idf_version.h. - 2
Linie zuordnen: gepflegt sind 5.3, 5.4, 5.5, 6.0 und 6.1.
- 3
NVD abfragen mit
cpe:2.3:a:espressif:esp-idf:<Version>und die Advisories im GitHub-Repository gegen die Linie lesen, nicht nur gegen die genaue Version. - 4
Die mitgebauten Bibliotheken einzeln prüfen: mbedTLS, lwIP, FreeRTOS, NimBLE oder Bluedroid, wpa_supplicant. Ihre Versionen stehen in den Headern der Komponenten.
- 5
Die Schalter in
sdkconfigprüfen:CONFIG_BT_A2DP_ENABLE,CONFIG_HTTPD_WS_SUPPORT,CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2,CONFIG_LWIP_DHCPS,CONFIG_SECURE_ENABLE_TEE. Was Sie nicht brauchen, schalten Sie ab; der Code fehlt dann im Image. - 6
Hardware-Advisories von Espressif (Secure Boot, Flash-Verschlüsselung) lesen; sie tragen oft keine CVE-Nummer und erscheinen in keiner NVD-Abfrage.
- 7
Den KEV-Katalog der CISA auf aktiv ausgenutzte Lücken prüfen.
Geht das auch automatisch?
LegacyMind liest aus dem ESP32-Image die ESP-IDF-Version und die eingebauten Bibliotheken mit ihren Versionen und gleicht jede gegen die Schwachstellenquellen ab, mit der Fundstelle im Image. Belegt das Image keine Version, bleibt das Feld leer.
Häufige Fragen
Welche ESP-IDF-Version sollte ich einsetzen?
Die neueste Version einer gepflegten Linie, Stand 23.10.2026 also 5.3.6, 5.4.4, 5.5.6, 6.0.3 oder 6.1. Für 5.4.4 nennen sechs Advisories eine Korrektur in 5.4.5, die noch nicht erschienen ist.
Ist ESP-IDF 4.4 noch sicher einsetzbar?
Die Linie 4.4 ist seit 31.07.2024 abgekündigt und bekommt keine Korrekturen mehr. Für 4.4.8 führt NVD zwei CVEs; weil NVD viele ESP-IDF-CVEs nur für die letzte betroffene Version je Linie konfiguriert, ist das eine Untergrenze.
Welche mbedTLS-Version steckt in ESP-IDF?
Stand 23.10.2026: mbedTLS 3.6.7 in 5.2.8, 5.3.6 und 5.5.6, mbedTLS 3.6.5 in 5.4.4, mbedTLS 4.1.1 in 6.0.3 und 4.1.0 in 6.1. Für 3.6.5 führt NVD elf CVEs, vier davon ab 9,0.
Welche FreeRTOS-Version nutzt ESP-IDF?
FreeRTOS 10.5.1 im neuesten Release jeder Linie von 5.2 bis 6.1, 10.4.3 in 5.1.2. Für 10.5.1 führt NVD fünf CVEs; sie betreffen laut Beschreibung Ports mit MPU oder TrustZone.
Wird eine ESP-IDF-Lücke aktiv ausgenutzt?
Stand 23.10.2026 steht keine Espressif-Lücke im Katalog aktiv ausgenutzter Schwachstellen der CISA (Katalogversion 2026.10.23).
Warum findet meine NVD-Abfrage für meine Version kaum etwas?
Weil NVD viele ESP-IDF-CVEs nur für die letzte betroffene Version je Linie konfiguriert hat. Frühere Versionen derselben Linie fallen heraus. Lesen Sie die Advisories des Projekts gegen Ihre Linie.