CVE-2022-49931: IB/hfi1: Correctly move list in sc_disable()
In the Linux kernel, the following vulnerability has been resolved:
IB/hfi1: Correctly move list in sc_disable()
Commit 13bac861952a ("IB/hfi1: Fix abba locking issue with sc_disable()")
incorrectly tries to move a list from one list head to another. The
result is a kernel crash.
The crash is triggered when a link goes down and there are waiters for a
send to complete. The following signature is seen:
BUG: kernel NULL pointer dereference, address: 0000000000000030
[...]
Call Trace:
sc_disable+0x1ba/0x240 [hfi1]
pio_freeze+0x3d/0x60 [hfi1]
handle_freeze+0x27/0x1b0 [hfi1]
process_one_work+0x1b0/0x380
? process_one_work+0x380/0x380
worker_thread+0x30/0x360
? process_one_work+0x380/0x380
kthread+0xd7/0x100
? kthread_complete_and_exit+0x20/0x20
ret_from_fork+0x1f/0x30
The fix is to use the correct call to move the list.
Security readout for executives and security teams
Plain-English summary
CVE-2022-49931 is a Linux kernel availability issue in the hfi1 driver. Under specific link-down conditions with pending send waiters, the kernel can crash. This is operationally important for systems that use this driver, but the source bundle indicates local, low-complexity access is required and does not show active exploitation.
Executive priority
Treat this as a moderate-priority availability risk for specialized Linux infrastructure using hfi1. It is not presented as remotely exploitable or actively exploited, but affected production systems could crash under the documented conditions.
Technical view
The flaw is a NULL pointer dereference in IB/hfi1 sc_disable() caused by incorrect list movement introduced by an earlier locking fix. When a link goes down while send-completion waiters exist, the hfi1 path can crash the kernel. CVSS is 5.5: local, low complexity, low privileges, availability-only impact.
Likely exposure
Exposure is most likely on Linux systems running affected kernel versions or commits and using the hfi1 driver. Systems not using hfi1 or not on the listed affected kernel builds are less likely exposed based on the provided sources.
Exploitation context
The bundle marks KEV as false and provides no cited evidence of active exploitation. The trigger requires local conditions and a specific hfi1 link-down state with pending send waiters, so this is primarily a reliability and denial-of-service concern.
Researcher notes
Evidence supports CWE-476 and availability-only impact. The source bundle identifies stable kernel commits as fixes but does not provide distribution-specific package names, broad exploit evidence, or proof that non-hfi1 systems are affected.
Mitigation direction
Apply vendor kernel updates containing the referenced stable fixes.
Prioritize Linux hosts that load or depend on the hfi1 driver.
Check distribution advisories before backporting kernel changes manually.
Reduce reliance on affected hfi1 systems until patched, where operationally feasible.
Validation and detection
Inventory Linux kernel versions against the affected versions listed in the CVE bundle.
Confirm whether the hfi1 driver is present, loaded, or operationally required.
Check vendor kernel packages for the referenced stable fix commits.
Review kernel crash logs for sc_disable, pio_freeze, handle_freeze, or hfi1 traces.
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.
cwe · low confidence lookup
CWE-476: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
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.