Skip to main content

CVE-2026-17052: memory-safety in zephyrproject zephyr

0
High
VulnerabilityCVE-2026-17052cvecve-2026-17052
Published: 09/21/2026 (09/21/2026, 18:35:30 UTC)
Source: CVE Database V5
Vendor/Project: zephyrproject
Product: zephyr

Description

The Time-aware GPIO syscall verification handler z_vrfy_tgpio_pin_read_ts_ec() in drivers/timeaware_gpio/timeaware_gpio_handlers.c validated only the port device object and passed the caller-supplied timestamp and event_count output pointers to the driver without a K_SYSCALL_MEMORY_WRITE() check. The other handlers in the same file (z_vrfy_tgpio_port_get_time(), z_vrfy_tgpio_port_get_cycles_per_second()) already performed that check, so the omission left one syscall unguarded. tgpio_pin_read_ts_ec() is declared __syscall, so with CONFIG_USERSPACE=y an unprivileged user-mode thread that has been granted access to the TGPIO device object can invoke it with arbitrary pointer values. tgpio_intel_read_ts_ec() in drivers/timeaware_gpio/timeaware_gpio_intel.c bounds-checks only the pin index and then unconditionally performs timestamp = ... and event_count = ..., executing two 8-byte stores in supervisor mode at addresses chosen by the user-mode caller. The result is a write-what-where primitive that crosses the userspace/kernel boundary: the target address is fully attacker-chosen and the stored values are the hardware time-capture and event-counter register contents. Corrupting kernel data structures this way can escalate the calling thread to supervisor privilege or crash the system; the device-object permission required is a narrow capability that is not intended to confer any kernel-memory access. The fix adds the two missing K_SYSCALL_MEMORY_WRITE() validations before the driver call. Exposure is narrow in practice. Only builds with CONFIG_USERSPACE=y and CONFIG_TIMEAWARE_GPIO=y compile the affected file, and from v3.6.0 onward the file additionally referenced a relocated header (<zephyr/syscall_handler.h>) and removed Z_SYSCALL_* macros, so such a configuration failed to build until those were repaired after v4.4.0. Downstream trees that locally corrected that breakage, and v3.5.0 builds where it did not exist, are the exposed population.

CVSS v3.1

Score 7.8high

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected software

zephyrproject

zephyr

Affected versions
>=3.5.0 <4.4.2
GitHub Actionsmore threats →cve
zephyr
pkg:github/zephyr
Affected versions
>=3.5.0 <4.4.2

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 09/21/2026, 19:01:37 UTC

Technical Analysis

The vulnerability exists in the Time-aware GPIO syscall verification handler z_vrfy_tgpio_pin_read_ts_ec() in Zephyr's drivers/timeaware_gpio/timeaware_gpio_handlers.c. This handler failed to perform K_SYSCALL_MEMORY_WRITE() checks on caller-supplied output pointers, unlike other handlers in the same file. As a result, an unprivileged user-mode thread with TGPIO device access can invoke the syscall with arbitrary pointers, causing the kernel to write hardware time-capture and event-counter register values to attacker-chosen addresses. This write-what-where primitive crosses the user/kernel boundary, potentially corrupting kernel data structures, leading to privilege escalation or system crashes. The vulnerability is limited to builds with CONFIG_USERSPACE=y and CONFIG_TIMEAWARE_GPIO=y, and affected versions are >=3.5.0 and <4.4.2. The fix adds the missing memory write validations before the driver call.

Potential Impact

An attacker with access to the TGPIO device object in an unprivileged user-mode thread can exploit this vulnerability to write arbitrary data to kernel memory. This can result in privilege escalation to supervisor mode or cause system crashes. The vulnerability compromises confidentiality, integrity, and availability of the affected system.

Mitigation Recommendations

A fix is available that adds the missing K_SYSCALL_MEMORY_WRITE() validations to the affected syscall handler. Users should upgrade to Zephyr version 4.4.2 or later where this issue is resolved. If upgrading is not immediately possible, restrict access to the TGPIO device object to trusted code only and avoid enabling CONFIG_USERSPACE=y with CONFIG_TIMEAWARE_GPIO=y simultaneously. Patch status is confirmed by the vendor advisory indicating the fix in versions >=4.4.2.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
zephyr
Date Reserved
2026-07-24T13:31:05.682Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 6ab17bd055bf5e2cf550c23c

Added to database: 09/21/2026, 18:47:44 UTC

Last enriched: 09/21/2026, 19:01:37 UTC

Last updated: 09/21/2026, 23:34:05 UTC

Views: 9

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses