Wissen · ESP32

ESP-IDF-Schwachstellen nach Version: was NVD zählt und was fehlt

Die NVD-Zahl für ESP-IDF ist eine Untergrenze; die Version steht im App-Image an Offset 0x90.

Diese Zahlen sind eine Untergrenze: Espressif nennt in seinen Advisories je Linie nur die letzte betroffene Version, und NVD hat viele CVEs genau so übernommen, als einzelne Version statt als Bereich. CVE-2025-68473 etwa zählt NVD nur für 5.1.6, 5.2.6, 5.3.4, 5.4.3 und 5.5.1, nicht für die Versionen davor in denselben Linien.

Daten abgefragt 23. Oktober 2026 · Seite aktualisiert 30. Oktober 2026 · 7 Min. LesezeitDie Konformitätsaussage treffen Sie. Diese Seite und unsere Berichte liefern technische Feststellungen als Grundlage dafür.

Auf einen Blick
NVD-CVEs für 5.2.6
10, davon 1 ab 9,0
mbedTLS in 5.4.4
3.6.5 (11, davon 4 ab 9,0)
Gepflegte Linien
6.0 und 6.1 sowie 5.3, 5.4 und 5.5
Abgekündigt
4.4 bis 5.2
Im KEV-Katalog der CISA
keine

NVD, abgefragt 23.10.2026

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, ErscheinungsdatumCVEs 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.20232, davon 1 ab 9,0
5.1.7, 27.01.2026 (letzte 5.1)0
5.2.6, 01.10.202510, davon 1 ab 9,0
5.2.8, 11.09.2026 (letzte 5.2)1
5.3.5, 24.03.20264
5.4.4, 17.04.2026 (neueste 5.4)4
5.5.4, 27.03.20265
5.3.6, 5.5.6, 6.0.3 (je neueste ihrer Linie)0
6.1, 27.08.20260. 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.
ESP-IDF 5.2.6 in der NVD
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 .totalResults
Ausgabe
10
ESP-IDF 5.1.2 in der NVD
curl -s "https://services.nvd.nist.gov/rest/json/cves/2.0?virtualMatchString=cpe:2.3:a:espressif:esp-idf:5.1.2&noRejected" | jq .totalResults
Ausgabe
2

Warum 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, CVSSWas, 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,8BluFi-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,6Bluedroid, bta_dm_sdp_result(): mehr als 32 gefundene Dienste schreiben über ein festes Array hinaus. Korrigiert wie CVE-2025-66409.
CVE-2026-25532, 8,0WPS-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,6Bluedroid AVRCP, avrc_vendor_msg(): zu kleiner Puffer. Korrigiert wie CVE-2025-66409.
CVE-2026-45541, 7,5esp_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,1protocomm 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,5DHCP-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, ErscheinungsdatummbedTLS · lwIP · FreeRTOS · NimBLE
5.1.2, 16.11.20233.5.0 (32) · 2.1.3 (0) · 10.4.3 (6) · 1.5.0 (15)
5.2.8, 11.09.20263.6.7 (1) · 2.1.3 (0) · 10.5.1 (5) · 1.5.0 (15)
5.3.6, 15.09.20263.6.7 (1) · 2.1.3 (0) · 10.5.1 (5) · 1.6.0 (15)
5.4.4, 17.04.20263.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.20263.6.7 (1) · 2.2.0 (0) · 10.5.1 (5) · 1.6.0 (15)
6.0.3, 02.09.20264.1.1 (0) · 2.2.0 (0) · 10.5.1 (5) · 1.6.0 (15)
6.1, 27.08.20264.1.0 (0) · 2.2.0 (0) · 10.5.1 (5) · 1.6.0 (15)
Die mbedTLS-Version in ESP-IDF 5.4.4
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.

LinieStand 23.10.2026
6.1Service. Aktuell 6.1 vom 27.08.2026.
6.0Service bis 20.03.2027. Aktuell 6.0.3 vom 02.09.2026.
5.5Maintenance bis 21.01.2028. Aktuell 5.5.6 vom 16.10.2026.
5.4Maintenance 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.3Maintenance bis 25.01.2027. Aktuell 5.3.6 vom 15.09.2026.
5.2, 5.1, 5.0, 4.4Abgekü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.

Die ESP-IDF-Version im App-Image
python -m esptool image-info WLED_16.0.1_ESP32.bin | grep ESP-IDF

Ausgabe

ESP-IDF: 4.4.8.240628
Dasselbe Feld direkt gelesen
xxd -s 0x90 -l 16 WLED_16.0.1_ESP32.bin

Ausgabe

00000090: 342e 342e 382e 3234 3036 3238 0000 0000  4.4.8.240628....

Wie prüfe ich das von Hand?

  1. 1

    Version lesen: esptool image-info auf das App-Image oder die 32 Byte an Offset 0x90. Im Quellbaum stehen ESP_IDF_VERSION_MAJOR, _MINOR und _PATCH in esp_idf_version.h.

  2. 2

    Linie zuordnen: gepflegt sind 5.3, 5.4, 5.5, 6.0 und 6.1.

  3. 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. 4

    Die mitgebauten Bibliotheken einzeln prüfen: mbedTLS, lwIP, FreeRTOS, NimBLE oder Bluedroid, wpa_supplicant. Ihre Versionen stehen in den Headern der Komponenten.

  5. 5

    Die Schalter in sdkconfig prü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. 6

    Hardware-Advisories von Espressif (Secure Boot, Flash-Verschlüsselung) lesen; sie tragen oft keine CVE-Nummer und erscheinen in keiner NVD-Abfrage.

  7. 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.

Quellen

  1. [1]ESP-IDF: Security Advisories (GitHub)
  2. [2]ESP-IDF: SUPPORT_POLICY.md
  3. [3]ESP-IDF: Support Periods
  4. [4]ESP-IDF: App Image Format
  5. [5]Espressif: Advisories
  6. [6]NIST NVD: CVE-API 2.0
  7. [7]CISA: Known Exploited Vulnerabilities Catalog

Prüfen Sie Ihr eigenes Image

Im kostenfreien CRA-Readiness-Check laden Sie ein AXF, ein Firmware-Image oder eine Lieferanten-SBOM hoch. Bericht und SBOM bekommen Sie binnen drei Werktagen.