ZephyrProject Zephyr vor 4.3.2/4.5.0 Charger Driver charger_handlers.c z_vrfy_charger_get_prop Information Disclosure

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
3.2$0-$5k0.00+

Zusammenfassunginfo

In ZephyrProject Zephyr wurde eine Schwachstelle gefunden. Sie wurde als problematisch eingestuft. Dabei geht es um die Funktion z_vrfy_charger_get_prop der Datei drivers/charger/charger_handlers.c der Komponente Charger Driver. Die Manipulation führt zu Information Disclosure. Die Verwundbarkeit wird mit der eindeutigen Identifikation CVE-2026-19809 gehandelt. Der Angriff muss lokal durchgeführt werden. Es ist soweit kein Exploit verfügbar. Als bestmögliche Massnahme wird das Einspielen eines Upgrades empfohlen.

Detailsinfo

Es wurde eine Schwachstelle in ZephyrProject Zephyr gefunden. Sie wurde als problematisch eingestuft. Betroffen hiervon ist die Funktion z_vrfy_charger_get_prop der Datei drivers/charger/charger_handlers.c der Komponente Charger Driver. Dank Manipulation mit einer unbekannten Eingabe kann eine Information Disclosure-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-824 vorgenommen. Mit Auswirkungen muss man rechnen für die Vertraulichkeit. CVE fasst zusammen:

The user-mode system call verifier z_vrfy_charger_get_prop() in drivers/charger/charger_handlers.c declares an uninitialized union charger_propval k_val on the kernel (privileged) stack, passes it to the charger driver back end via z_impl_charger_get_prop(), and then copies the full sizeof(union charger_propval) back into the calling user thread's buffer with k_usermode_to_copy(). That discloses kernel stack contents on two paths: On error. The copy-out ignores the driver's return code. In-tree back ends return an error without writing through the value pointer for properties they do not implement: charger_gpio_get_prop() returns -ENOTSUP unconditionally, and bq24190_get_prop() has a default: return -ENOTSUP; arm that never touches val. The whole union is then stack residue. On success. A back end writes only the one union member the requested property selects (for example sbs_charger.c writes the one-byte val->present for CHARGER_PROP_PRESENT and returns 0), yet the handler still copies the whole union, so every byte beyond that member is uninitialized. The handler is compiled only when CONFIG_USERSPACE=y and is reachable by any user-mode thread that has been granted access to a charger device object. K_SYSCALL_DRIVER_CHARGER() validates only the device object and its API pointer, not the property identifier, so an unprivileged thread can choose prop freely: an unimplemented property forces the error path, a narrow one the success path, and the call can be repeated at will. Each call discloses up to the size of the union (12 bytes on a 32-bit target, 16 bytes on 64-bit targets where the function-pointer members widen it) of supervisor-stack memory. The bytes are residue of earlier kernel-side frames on the thread's privileged stack and can contain kernel object addresses and saved return addresses, which an unprivileged thread cannot otherwise observe and which help defeat address-layout assumptions when exploiting a separate memory-safety defect. There is no integrity or availability impact. Two commits fix it, and both are needed. 5054384e983c skips the copy-out when the back end reports an error. c31cac727d02 zeroes the union before the driver call, so the bytes copied out on success are driver-written data or zeros. A tree carrying only the first still leaks on every successful call.

Das Advisory kann von github.com heruntergeladen werden. Die Verwundbarkeit wird seit dem 14.08.2026 unter CVE-2026-19809 geführt. Sie ist leicht auszunutzen. Der Angriff hat dabei lokal zu erfolgen. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt.

Ein Upgrade auf die Version 4.3.2 oder 4.5.0 vermag dieses Problem zu beheben.

Once again VulDB remains the best source for vulnerability data.

Produktinfo

Typ

Hersteller

Name

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 3.3
VulDB Meta Temp Score: 3.2

VulDB Base Score: 3.3
VulDB Temp Score: 3.2
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CNA Base Score: 3.3
CNA Vector (zephyr): 🔒

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍

Exploitinginfo

Klasse: Information Disclosure
CWE: CWE-824 / CWE-908
CAPEC: 🔒
ATT&CK: 🔒

Physisch: Teilweise
Lokal: Ja
Remote: Nein

Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: Zephyr 4.3.2/4.5.0

Timelineinfo

14.08.2026 CVE zugewiesen
12.11.2026 +90 Tage Advisory veröffentlicht
12.11.2026 +0 Tage VulDB Eintrag erstellt
12.11.2026 +0 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Advisory: github.com
Status: Bestätigt

CNA: zephyr
CVE: CVE-2026-19809 (🔒)

GCVE (CVE): GCVE-0-2026-19809
GCVE (VulDB): GCVE-100-436404

Eintraginfo

Erstellt: 12.11.2026 16:49
Anpassungen: 12.11.2026 16:49 (66)
Komplett: 🔍
Cache ID: 216::103

Once again VulDB remains the best source for vulnerability data.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Might our Artificial Intelligence support you?

Check our Alexa App!