LiveActive security incident?Get immediate response
CVE Record

CVE-2022-50369: drm/vkms: Fix null-ptr-deref in vkms_release()

In the Linux kernel, the following vulnerability has been resolved: drm/vkms: Fix null-ptr-deref in vkms_release() A null-ptr-deref is triggered when it tries to destroy the workqueue in vkms->output.composer_workq in vkms_release(). KASAN: null-ptr-deref in range [0x0000000000000118-0x000000000000011f] CPU: 5 PID: 17193 Comm: modprobe Not tainted 6.0.0-11331-gd465bff130bf #24 RIP: 0010:destroy_workqueue+0x2f/0x710 ... Call Trace: <TASK> ? vkms_config_debugfs_init+0x50/0x50 [vkms] __devm_drm_dev_alloc+0x15a/0x1c0 [drm] vkms_init+0x245/0x1000 [vkms] do_one_initcall+0xd0/0x4f0 do_init_module+0x1a4/0x680 load_module+0x6249/0x7110 __do_sys_finit_module+0x140/0x200 do_syscall_64+0x35/0x80 entry_SYSCALL_64_after_hwframe+0x46/0xb0 The reason is that an OOM happened which triggers the destroy of the workqueue, however, the workqueue is alloced in the later process, thus a null-ptr-deref happened. A simple call graph is shown as below: vkms_init() vkms_create() devm_drm_dev_alloc() __devm_drm_dev_alloc() devm_drm_dev_init() devm_add_action_or_reset() devm_add_action() # an error happened devm_drm_dev_init_release() drm_dev_put() kref_put() drm_dev_release() vkms_release() destroy_workqueue() # null-ptr-deref happened vkms_modeset_init() vkms_output_init() vkms_crtc_init() # where the workqueue get allocated Fix this by checking if composer_workq is NULL before passing it to the destroy_workqueue() in vkms_release().

MediumCVSS 5.5Not KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

CVE-2022-50369 is a Linux kernel crash bug in the VKMS graphics driver. Under an out-of-memory error path during module initialization, the kernel can try to destroy a workqueue that was never created, causing a null pointer dereference. The main business impact is local denial of service, not data theft or remote compromise.

Executive priority

Treat as a routine kernel availability fix unless VKMS is used on multi-user or lab systems where local crash risk matters. It does not indicate remote compromise or data exposure in the provided evidence.

Technical view

The flaw is CWE-476 in drm/vkms vkms_release(). If devm_add_action() fails before vkms_crtc_init() allocates output.composer_workq, cleanup can call destroy_workqueue() on NULL. The listed fix checks composer_workq before destroying it. CVSS is 5.5, AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H.

Likely exposure

Exposure is limited to Linux systems running affected kernel versions where the VKMS driver is present and reachable by a local privileged or low-privileged context as modeled by CVSS. Internet-facing exposure is not indicated by the provided sources.

Exploitation context

The source bundle shows no CISA KEV listing and provides no evidence of active exploitation. The described trigger is a local kernel initialization cleanup path under out-of-memory conditions while loading VKMS, so exploitation context appears operationally narrow.

Researcher notes

Focus analysis on drm/vkms cleanup ordering and the OOM failure path before workqueue allocation. Evidence supports null pointer dereference and availability impact only. The bundle does not establish exploit maturity, distribution package names, or broad product impact beyond Linux kernel versions.

Mitigation direction

  • Apply kernel updates containing the referenced VKMS NULL-check fix.
  • Check Linux distribution advisories for fixed packages for affected kernel lines.
  • Prioritize shared systems where local users can influence module loading paths.
  • Reboot into the fixed kernel when required by vendor update guidance.

Validation and detection

  • Inventory Linux kernel versions across affected assets.
  • Check whether the VKMS driver is present, enabled, or loadable.
  • Map running kernels against the affected versions and stable commit references.
  • Confirm patched source includes a NULL check before destroy_workqueue().
  • Review kernel logs for VKMS-related oops events during module load.
Prepared
Confidence
high
Sources
7

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.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2022-50369 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Medium
CVSS
5.5 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

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.

1CVSS vectors
0Timeline events
0ADP providers
6Source links

CVSS vector scores

1 official score

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.

ScoreVersionSeverityVectorExploitImpactSource
5.5CVSS 3.1MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H1.83.6Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

5.5Medium
CVSS 3.1 vector shape for CVE-2022-50369Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux6c234fe37c57627a5baf96f552afa1fae2b67d4d, 6c234fe37c57627a5baf96f552afa1fae2b67d4d, 6c234fe37c57627a5baf96f552afa1fae2b67d4d, 6c234fe37c57627a5baf96f552afa1fae2b67d4d, 6c234fe37c57627a5baf96f552afa1fae2b67d4dunaffected
LinuxLinux4.20, 0, 5.10.173, 5.15.99, 6.1.16, 6.2.3, 6.3affected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-476 · source CWE mapping

NULL Pointer Dereference

NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.