PatchSiren cyber security CVE debrief
CVE-2026-45926 Linux CVE debrief
A memory leak vulnerability exists in the Linux kernel's Rust PWM (Pulse Width Modulation) subsystem. When initializing a PWM chip using `pwmchip_alloc()`, the allocated device holds an initial reference that must be released on all error paths. If `__pinned_init()` fails during initialization, the error path returns without calling `pwmchip_put()`, resulting in a memory leak of the allocated `pwm_chip` structure. This vulnerability affects kernel versions where the Rust PWM bindings are present and has been resolved by ensuring proper cleanup on initialization failure.
- Vendor
- Linux
- Product
- Unknown
- CVSS
- Unknown
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-05-27
- Original CVE updated
- 2026-05-27
- Advisory published
- 2026-05-27
- Advisory updated
- 2026-05-27
Who should care
Linux kernel maintainers, embedded systems developers using PWM functionality, organizations running custom kernel builds with Rust support, and security teams tracking kernel memory safety issues.
Technical summary
The vulnerability is located in the Rust bindings for the Linux kernel PWM subsystem. The `pwmchip_alloc()` function allocates a PWM chip structure with an initial reference count. The `__pinned_init()` function performs additional initialization. If this initialization fails, the original error path did not decrement the reference count via `pwmchip_put()`, causing the allocated memory to leak. The fix adds the missing `pwmchip_put()` call to the error path, ensuring proper resource cleanup regardless of initialization success or failure.
Defensive priority
medium
Recommended defensive actions
- Review and apply the referenced kernel commits to affected systems
- Verify Rust PWM subsystem is updated in custom kernel builds
- Monitor kernel stable releases for backported fixes
- Audit error handling paths in Rust kernel code for similar patterns
Evidence notes
The vulnerability description indicates this is a memory leak in error handling paths within the Rust PWM subsystem. The fix ensures that `pwmchip_put()` is called when `__pinned_init()` fails, properly releasing the reference obtained during `pwmchip_alloc()`. Two kernel commits are referenced as resolution sources.
Official resources
-
CVE-2026-45926 CVE record
CVE.org
-
CVE-2026-45926 NVD detail
NVD
-
Source item URL
nvd_modified
-
Source reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67
2026-05-27