Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AC:H reflects mandatory hardware specificity (AT91 board + polled-VBUS config); all other metrics match the described local low-privilege race scenario.
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
Lifecycle Timeline
6DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: at91_udc: drain polled-VBUS timer/work before udc is freed
In polled-VBUS mode (board.vbus_pin && board.vbus_polled), probe arms a self-restarting cycle: at91_vbus_timer() schedules vbus_timer_work, and at91_vbus_timer_work() calls at91_vbus_update() and re-arms the timer via mod_timer(). Both recover the same udc through container_of and dereference it on every iteration.
Neither teardown path cancels this cycle. udc is devm-allocated, so it is freed after at91udc_remove() returns, and is likewise freed when probe fails and devres runs. A timer callback or work item that is pending or running at either point dereferences the freed udc.
Add at91_udc_shutdown_vbus_timer() and call it from at91udc_remove() and from the usb_add_gadget_udc() failure path in probe; the remaining probe error paths fail before the timer is armed. timer_shutdown_sync() waits for a running callback and clears timer->function, which makes the work handler's mod_timer() a permanent no-op; cancel_work_sync() then drains any pending or running work whose re-arm attempt now does nothing. The timer must be shut down first, since cancelling the work alone would let the timer re-queue it. The guard mirrors probe: in IRQ mode the timer and work_struct are never initialized.
This does not require a fault; a normal driver unbind can interleave with an already queued work item.
This issue was found by an in-house static analysis tool.
AnalysisAI
Use-after-free in the Linux kernel's at91_udc USB gadget driver allows a local low-privileged attacker to dereference freed kernel memory during driver teardown, potentially achieving kernel code execution. The vulnerability affects systems running AT91/SAM series Atmel ARM microcontrollers in polled-VBUS mode, where a self-restarting timer/work cycle is never cancelled before the devm-allocated udc structure is freed. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires all of the following: (1) the target system must be running Linux on hardware that incorporates an Atmel AT91/SAM USB Device Controller with the at91_udc gadget driver compiled and loaded; (2) the board must be configured with both vbus_pin and vbus_polled set (polled-VBUS mode - IRQ-mode configurations are unaffected because the timer and work_struct are never initialized on that path); (3) the attacker must hold PR:L local access sufficient to trigger driver unbind, either via sysfs or by initiating a normal shutdown sequence. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The NVD CVSS vector AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H scores this at 7.8, which overstates the ease of exploitation because it ignores the extreme hardware specificity: the at91_udc driver is only compiled and active on systems with AT91/SAM Atmel ARM embedded boards running in polled-VBUS configuration, a niche deployment that rules out the vast majority of Linux installations. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Apply the vendor-released patch targeting your stable series: upgrade to Linux 6.12.109, 6.18.50, 7.2.4, or build from 7.3-rc1. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, identify and inventory all systems running Linux on AT91/SAM Atmel ARM microcontrollers configured for USB polled-VBUS mode. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Same technique Use After Free
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-76650
GHSA-3f57-g7j5-hj3q