# CVE-2026-74442: drm/vmwgfx: avoid destroy_workqueue(NULL) on vkms init failure

> A null pointer dereference in the vmwgfx driver causes a kernel panic during module unload if initialization fails, leading to denial of service.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 15 Aug 2026
- **Updated:** 17 Aug 2026
- **Also known as:** BELL-CVE-2026-74442, DEBIAN-CVE-2026-74442, GHSA-23jg-69fj-37jm, UBUNTU-CVE-2026-74442

## What is CVE-2026-74442?

CVE-2026-74442 is a vulnerability in Linux, published on 15 Aug 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

In the Linux kernel, the following vulnerability has been resolved:

drm/vmwgfx: avoid destroy_workqueue(NULL) on vkms init failure

Two paths through vmw_vkms_init() can leave vmw->crc_workq NULL while
still leaving the rest of the driver in a state that calls
vmw_vkms_cleanup() at module unload:

  1. vmw_host_get_guestinfo(GUESTINFO_VBLANK, ...) failing or
     returning an oversized buffer -- the common case on hosts
     without a VBLANK guestinfo entry -- early-returned before the
     workqueue allocation.
  2. alloc_ordered_workqueue() returning NULL on memory pressure.

vmw_vkms_cleanup() then calls destroy_workqueue(NULL), which
dereferences wq->name and panics.

Fix the first case by removing the early return: vmw->vkms_enabled
is already false on the rpci-failure path so no work will ever be
queued, and allocating the workqueue unconditionally keeps the
control flow simple.  Fix the second case by guarding the cleanup
with a NULL check, since alloc_ordered_workqueue() can still fail
under low memory.

## Which versions are affected by CVE-2026-74442?


## How do I fix CVE-2026-74442?

Apply the vendor's patch.

## Is CVE-2026-74442 being exploited?

There is no known exploitation of CVE-2026-74442 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-74442 and fix it if it is affected.

What it is: CVE-2026-74442 is a vulnerability in Linux, published on 15 Aug 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-74442 in the wild and no public exploit code.

Affected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-74442/ (Markdown: https://insights.sbomify.com/CVE-2026-74442/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-74442
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-74442
- OSV: https://osv.dev/vulnerability/CVE-2026-74442

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-74442/
Summaries are generated and may contain mistakes; the official description above is the record.
