Zephyr Project bis 4.4.x NVS Backend settings_nvs.c Pufferüberlauf
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 4.3 | $0-$5k | 0.47 |
Zusammenfassung
Es wurde eine Schwachstelle in Zephyr Project Zephyr bis 4.4.x entdeckt. Sie wurde als problematisch eingestuft. Betroffen hiervon ist die Funktion settings_nvs_cache_match/settings_nvs_load/settings_nvs_save der Datei subsys/settings/src/settings_nvs.c der Komponente NVS Backend. Durch das Manipulieren mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden.
Die Verwundbarkeit wird mit der eindeutigen Identifikation CVE-2026-12634 gehandelt. Der Angriff muss lokal durchgeführt werden. Es ist soweit kein Exploit verfügbar.
Details
Eine problematische Schwachstelle wurde in Zephyr Project Zephyr bis 4.4.x ausgemacht. Hierbei geht es um die Funktion settings_nvs_cache_match/settings_nvs_load/settings_nvs_save der Datei subsys/settings/src/settings_nvs.c der Komponente NVS Backend. Durch Manipulieren mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-787. Dies wirkt sich aus auf Integrität und Verfügbarkeit. CVE fasst zusammen:
The NVS backend of the Zephyr settings subsystem (subsys/settings/src/settings_nvs.c) reads stored setting-name entries into fixed 74-byte stack buffers and NUL-terminates them with buf[rc] = '\0', where rc is the return value of nvs_read(). Per its contract, nvs_read() returns the full stored entry length (wlk_ate.len), which can exceed the supplied buffer length — only MIN(len, stored_len) bytes are actually copied, but the return value may be much larger, bounded only by the NVS sector size. Three sites (settings_nvs_cache_match(), settings_nvs_load(), and settings_nvs_save()) used this value directly as the NUL index without clamping, so an oversized stored name entry causes a single \0 byte to be written past the end of the stack buffer at an attacker-influenced offset (CWE-787).
The oversized entry cannot arise through the normal settings API, where names are bounded by SETTINGS_MAX_NAME_LEN. It requires an actor able to write the flash that backs the settings partition — a co-resident or untrusted component sharing the flash device, a malicious settings image/restore, or offline/physical flash access (a shared-flash threat model). The malformed entry is parsed when settings_load() runs at boot or subsystem init, or during settings_save().
The out-of-bounds write is a single NUL byte at an offset equal to the crafted entry length (up to the NVS sector size), so the practical impact is a crash or denial of service and limited stack corruption rather than reliable code execution. There is no confidentiality impact, and the path is not reachable from the network through the ordinary settings interface. The fix skips any entry whose nvs_read() length is greater than or equal to the buffer size before performing the NUL store.Auf github.com kann das Advisory eingesehen werden. Die Identifikation der Schwachstelle findet seit dem 18.06.2026 als CVE-2026-12634 statt. Die Ausnutzbarkeit ist als leicht bekannt. Der Angriff muss lokal passieren. Das Angehen einer erweiterte Authentisierung ist erforderlich, um eine Ausnutzung anzugehen. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht.
Ein Upgrade auf die Version 4.5.0 vermag dieses Problem zu beheben.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Produkt
Typ
Hersteller
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 4.3VulDB Meta Temp Score: 4.3
VulDB Base Score: 3.4
VulDB Temp Score: 3.3
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CNA Base Score: 5.3
CNA Vector (zephyr): 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: PufferüberlaufCWE: CWE-787 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Teilweise
Lokal: Ja
Remote: Nein
Verfügbarkeit: 🔒
Status: Nicht definiert
EPSS Score: 🔒
EPSS Percentile: 🔒
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Zephyr 4.5.0
Timeline
18.06.2026 CVE zugewiesen19.08.2026 Advisory veröffentlicht
19.08.2026 VulDB Eintrag erstellt
19.08.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Advisory: github.comStatus: Bestätigt
CVE: CVE-2026-12634 (🔒)
GCVE (CVE): GCVE-0-2026-12634
GCVE (VulDB): GCVE-100-393434
Eintrag
Erstellt: 19.08.2026 23:08Anpassungen: 19.08.2026 23:08 (67)
Komplett: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.