Kernel: die Lücken vor 10.4.3
Zwei Integer-Überläufe in Queue und Stream Buffer und eine fehlende Grenzprüfung im Heap, alle mit CVSS 9,8 und alle in Version 10.4.3 vom 14.12.2020 behoben. Das Änderungsprotokoll nennt keine CVE-Nummer. Es spricht von „Changes to improve robustness and consistency for buffer allocation in the heap, queue and stream buffer“. Wer nur das Änderungsprotokoll liest, übersieht sie leicht.
| CVE | Betroffen laut NVD, CVSS, Fix |
|---|---|
| CVE-2021-31571 | Integer-Überlauf in queue.c bei der Queue-Erzeugung. Vor 10.4.3, 9,8. Fix 10.4.3. |
| CVE-2021-31572 | Integer-Überlauf in stream_buffer.c. Vor 10.4.3, 9,8. Fix 10.4.3. |
| CVE-2021-32020 | Fehlende Grenzprüfung im Heap. Vor 10.4.3, 9,8. Fix 10.4.3. |
Kernel: Lücken in MPU- und TrustZone-Ports
Diese Lücken betreffen nur Builds, die den MPU-Port oder TrustZone nutzen. Ein Build ohne MPU-Port hat diese Angriffsfläche nicht, hat dafür aber auch keine Trennung zwischen privilegierten und unprivilegierten Tasks.
| CVE | Betroffen laut NVD, CVSS, Fix |
|---|---|
| CVE-2024-28115 | Rechteausweitung auf ARMv7-M- und ARMv8-M-MPU-Ports. Bis 10.6.1, 7,8. Fix 10.6.2. |
| CVE-2026-77234 | Unprivilegierter Task kann Code im Kernel ausführen, MPU-Ports. 7.0.0 bis vor 11.3.1, 8,8 (CNA). Fix 11.3.1. |
| CVE-2026-77235, -77236 | Secure Context unter TrustZone. 10.2.0 bis vor 11.3.1, je 7,3 (CNA). Fix 11.3.1. |
| CVE-2026-77237 | xQueueAddToSet liest Kernel-Speicher, MPU-Ports mit Queue Sets. 7.4.0 bis vor 11.3.1, 8,4. Fix 11.3.1. |
FreeRTOS+TCP
Der TCP/IP-Stack hat eine eigene Versionsnummer, getrennt vom Kernel. Die Lücken von 2018 betrafen FreeRTOS bis V10.0.1 mit FreeRTOS+TCP; die neueren betreffen die Linie 4.x.
| CVE | Betroffen laut NVD, CVSS, Fix |
|---|---|
| CVE-2018-16522 bis -16528, -16598 bis -16603 | 13 Lücken aus 2018, etwa beim Parsen von TCP-Optionen, ICMP-, DNS- und NBNS-Paketen. Elf davon in FreeRTOS bis V10.0.1 mit FreeRTOS+TCP, zwei nur in AWS FreeRTOS. CVSS 5,9 bis 8,1. |
| CVE-2024-38373 | Über-Lesen beim DNS-Parsen. 4.0.0 bis vor 4.1.1, 8,1. Fix 4.1.1. |
| CVE-2026-7424 | Unterlauf im DHCPv6-Parser. 4.0.0 bis vor 4.2.6 und 4.3.0 bis vor 4.4.1, 8,1 (CNA). Fix 4.2.6 und 4.4.1. |
Die Version in Ihrer Firmware finden
Im Quellcode steht die Kernel-Version in task.h, Makro tskKERNEL_VERSION_NUMBER. Im Build steht sie dort, wo der Compiler sie hineinschreibt: im Pfad der Quelldateien, in den Debug-Informationen oder als Zeichenkette, die die Anwendung ausgibt. Am öffentlichen Keil-Beispiel steht sie im Pfad.
- 01
Version bestimmen
task.h im Projekt oder, im Build, Pfad, Debug-Informationen oder Zeichenkette.
- 02
Port bestimmen
nutzt der Build den MPU-Port oder TrustZone? Davon hängen die neueren Kernel-Lücken ab.
- 03
FreeRTOS+TCP getrennt prüfen
eigene Version in FreeRTOS_IP.c, eigene CVEs.
- 04
Betroffene Funktionen prüfen
Queue Sets, Stream Buffer, DHCPv6 und DNS sind Optionen, die nicht jeder Build enthält.
strings -a -t x ble_freertos_amota.axf | grep -m1 -F "FreeRTOSv10.1.1"1fe9c ../../../../../third_party/FreeRTOSv10.1.1/Source/timers.c
nm ble_freertos_amota.axf | grep -E "xQueueGenericCreate|pvPortMalloc"0001bfb5 T pvPortMalloc 0001fe85 T xQueueGenericCreate
Was LegacyMind dabei automatisch macht
LegacyMind erkennt FreeRTOS im ELF, AXF oder OUT Ihres Builds, liest die Version aus Keil- und GNU-Arm-Builds und gleicht sie mit den öffentlichen Schwachstellenquellen ab, mit dem Vermerk, ob eine Lücke aktiv ausgenutzt wird. Dazu prüft es, ob der Build den MPU-Port nutzt und Tasks ohne Rechte anlegt.
Die Konformitätsaussage treffen Sie. Diese Seite und unsere Berichte liefern technische Feststellungen als Grundlage dafür.
Häufige Fragen
01Welche FreeRTOS-Version ist frei von bekannten Kernel-Lücken?
Stand 20.10.2026 führt NVD für den Kernel ab 11.3.1 keine der hier genannten Lücken. Für Builds ohne MPU-Port und ohne TrustZone sind die Lücken vor 10.4.3 die entscheidenden.
02Wird eine FreeRTOS-Lücke aktiv ausgenutzt?
Stand 20.10.2026 steht keine FreeRTOS-Lücke im Katalog aktiv ausgenutzter Schwachstellen der CISA.
03Ist mein Gerät betroffen, wenn es eine alte FreeRTOS-Version nutzt?
Es liegt im Versionsbereich. Ob eine Lücke ausnutzbar ist, hängt davon ab, ob die betroffene Funktion gebaut ist und ob ein Angreifer sie erreicht, etwa über Netzwerk oder einen unprivilegierten Task.
04Zählt FreeRTOS+TCP als eigene Komponente in der SBOM?
Ja. Es hat eine eigene Version und eigene CVEs und gehört mit beiden in die Stückliste.