CVE-2022-48761: usb: xhci-plat: fix crash when suspend if remote wake enable
In the Linux kernel, the following vulnerability has been resolved:
usb: xhci-plat: fix crash when suspend if remote wake enable
Crashed at i.mx8qm platform when suspend if enable remote wakeup
Internal error: synchronous external abort: 96000210 [#1] PREEMPT SMP
Modules linked in:
CPU: 2 PID: 244 Comm: kworker/u12:6 Not tainted 5.15.5-dirty #12
Hardware name: Freescale i.MX8QM MEK (DT)
Workqueue: events_unbound async_run_entry_fn
pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : xhci_disable_hub_port_wake.isra.62+0x60/0xf8
lr : xhci_disable_hub_port_wake.isra.62+0x34/0xf8
sp : ffff80001394bbf0
x29: ffff80001394bbf0 x28: 0000000000000000 x27: ffff00081193b578
x26: ffff00081193b570 x25: 0000000000000000 x24: 0000000000000000
x23: ffff00081193a29c x22: 0000000000020001 x21: 0000000000000001
x20: 0000000000000000 x19: ffff800014e90490 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000002 x12: 0000000000000000
x11: 0000000000000000 x10: 0000000000000960 x9 : ffff80001394baa0
x8 : ffff0008145d1780 x7 : ffff0008f95b8e80 x6 : 000000001853b453
x5 : 0000000000000496 x4 : 0000000000000000 x3 : ffff00081193a29c
x2 : 0000000000000001 x1 : 0000000000000000 x0 : ffff000814591620
Call trace:
xhci_disable_hub_port_wake.isra.62+0x60/0xf8
xhci_suspend+0x58/0x510
xhci_plat_suspend+0x50/0x78
platform_pm_suspend+0x2c/0x78
dpm_run_callback.isra.25+0x50/0xe8
__device_suspend+0x108/0x3c0
The basic flow:
1. run time suspend call xhci_suspend, xhci parent devices gate the clock.
2. echo mem >/sys/power/state, system _device_suspend call xhci_suspend
3. xhci_suspend call xhci_disable_hub_port_wake, which access register,
but clock already gated by run time suspend.
This problem was hidden by power domain driver, which call run time resume before it.
But the below commit remove it and make this issue happen.
commit c1df456d0f06e ("PM: domains: Don't runtime resume devices at genpd_prepare()")
This patch call run time resume before suspend to make sure clock is on
before access register.
Testeb-by: Abel Vesa <abel.vesa@nxp.com>
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel USB host-controller suspend crash. On platforms such as NXP/Freescale i.MX8QM, enabling USB remote wakeup and then suspending can cause the kernel to access xHCI registers after clocks are gated. The main business impact is reliability and possible local impact, not confirmed remote compromise.
Executive priority
Address in normal kernel maintenance unless affected devices show suspend crashes or operate in safety-critical environments. For embedded products, prioritize validation because repeated suspend failures can create availability incidents and support costs. No source provided evidence of active exploitation.
Technical view
The xhci-plat suspend path can call xhci_disable_hub_port_wake after runtime suspend has gated the parent device clock. The cited fix resumes the controller before suspend so register access occurs while the clock is enabled. The CVSS vector is local, low complexity, low privileges, no user interaction, with low confidentiality, integrity, and availability impact.
Likely exposure
Exposure is most plausible on Linux systems using xhci-plat where runtime suspend, system suspend, and USB remote wake are enabled. The report specifically cites i.MX8QM. General fleet exposure depends on kernel build, platform driver use, power-domain behavior, and whether vendor kernels include the stable fixes.
Exploitation context
The bundle does not cite KEV listing or public exploitation. CVSS marks attack vector local and privileges required low. Treat this as a local reliability and hardening issue unless vendor telemetry or incident evidence shows crashes during suspend with remote wake enabled.
Researcher notes
The root cause is an ordering flaw between runtime suspend clock gating and system suspend register access. The fix resumes the device before suspend. The record lacks CWE mapping and provides limited affected-version detail, so confirm against kernel stable commits and downstream vendor patches.
Mitigation direction
Update to a kernel or vendor build containing the referenced stable xhci-plat fixes.
Check vendor advisories for platform-specific backports and suspend or remote-wake guidance.
Prioritize embedded or appliance fleets that rely on suspend and USB wake behavior.
Avoid assuming a generic configuration workaround unless the platform vendor documents one.
Validation and detection
Inventory Linux versions and vendor kernel branches on systems using USB xHCI platform controllers.
Confirm whether the referenced stable commits are present or backported.
Review kernel logs for suspend-time xHCI crashes or synchronous external aborts.
Lab-test suspend and resume on representative affected hardware after patching.
Verify remote-wake requirements before changing any power-management settings.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2022-48761 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.