Skip to main content

CVE-2022-48633: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2022-48633cvecve-2022-48633
Published: Sun Apr 28 2024 (04/28/2024, 12:59:15 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: drm/gma500: Fix WARN_ON(lock->magic != lock) error psb_gem_unpin() calls dma_resv_lock() but the underlying ww_mutex gets destroyed by drm_gem_object_release() move the drm_gem_object_release() call in psb_gem_free_object() to after the unpin to fix the below warning: [ 79.693962] ------------[ cut here ]------------ [ 79.693992] DEBUG_LOCKS_WARN_ON(lock->magic != lock) [ 79.694015] WARNING: CPU: 0 PID: 240 at kernel/locking/mutex.c:582 __ww_mutex_lock.constprop.0+0x569/0xfb0 [ 79.694052] Modules linked in: rfcomm snd_seq_dummy snd_hrtimer qrtr bnep ath9k ath9k_common ath9k_hw snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio snd_hda_codec_hdmi snd_hda_intel ath3k snd_intel_dspcfg mac80211 snd_intel_sdw_acpi btusb snd_hda_codec btrtl btbcm btintel btmtk bluetooth at24 snd_hda_core snd_hwdep uvcvideo snd_seq libarc4 videobuf2_vmalloc ath videobuf2_memops videobuf2_v4l2 videobuf2_common snd_seq_device videodev acer_wmi intel_powerclamp coretemp mc snd_pcm joydev sparse_keymap ecdh_generic pcspkr wmi_bmof cfg80211 i2c_i801 i2c_smbus snd_timer snd r8169 rfkill lpc_ich soundcore acpi_cpufreq zram rtsx_pci_sdmmc mmc_core serio_raw rtsx_pci gma500_gfx(E) video wmi ip6_tables ip_tables i2c_dev fuse [ 79.694436] CPU: 0 PID: 240 Comm: plymouthd Tainted: G W E 6.0.0-rc3+ #490 [ 79.694457] Hardware name: Packard Bell dot s/SJE01_CT, BIOS V1.10 07/23/2013 [ 79.694469] RIP: 0010:__ww_mutex_lock.constprop.0+0x569/0xfb0 [ 79.694496] Code: ff 85 c0 0f 84 15 fb ff ff 8b 05 ca 3c 11 01 85 c0 0f 85 07 fb ff ff 48 c7 c6 30 cb 84 aa 48 c7 c7 a3 e1 82 aa e8 ac 29 f8 ff <0f> 0b e9 ed fa ff ff e8 5b 83 8a ff 85 c0 74 10 44 8b 0d 98 3c 11 [ 79.694513] RSP: 0018:ffffad1dc048bbe0 EFLAGS: 00010282 [ 79.694623] RAX: 0000000000000028 RBX: 0000000000000000 RCX: 0000000000000000 [ 79.694636] RDX: 0000000000000001 RSI: ffffffffaa8b0ffc RDI: 00000000ffffffff [ 79.694650] RBP: ffffad1dc048bc80 R08: 0000000000000000 R09: ffffad1dc048ba90 [ 79.694662] R10: 0000000000000003 R11: ffffffffaad62fe8 R12: ffff9ff302103138 [ 79.694675] R13: ffff9ff306ec8000 R14: ffff9ff307779078 R15: ffff9ff3014c0270 [ 79.694690] FS: 00007ff1cccf1740(0000) GS:ffff9ff3bc200000(0000) knlGS:0000000000000000 [ 79.694705] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 79.694719] CR2: 0000559ecbcb4420 CR3: 0000000013210000 CR4: 00000000000006f0 [ 79.694734] Call Trace: [ 79.694749] <TASK> [ 79.694761] ? __schedule+0x47f/0x1670 [ 79.694796] ? psb_gem_unpin+0x27/0x1a0 [gma500_gfx] [ 79.694830] ? lock_is_held_type+0xe3/0x140 [ 79.694864] ? ww_mutex_lock+0x38/0xa0 [ 79.694885] ? __cond_resched+0x1c/0x30 [ 79.694902] ww_mutex_lock+0x38/0xa0 [ 79.694925] psb_gem_unpin+0x27/0x1a0 [gma500_gfx] [ 79.694964] psb_gem_unpin+0x199/0x1a0 [gma500_gfx] [ 79.694996] drm_gem_object_release_handle+0x50/0x60 [ 79.695020] ? drm_gem_object_handle_put_unlocked+0xf0/0xf0 [ 79.695042] idr_for_each+0x4b/0xb0 [ 79.695066] ? _raw_spin_unlock_irqrestore+0x30/0x60 [ 79.695095] drm_gem_release+0x1c/0x30 [ 79.695118] drm_file_free.part.0+0x1ea/0x260 [ 79.695150] drm_release+0x6a/0x120 [ 79.695175] __fput+0x9f/0x260 [ 79.695203] task_work_run+0x59/0xa0 [ 79.695227] do_exit+0x387/0xbe0 [ 79.695250] ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90 [ 79.695275] ? lockdep_hardirqs_on+0x7d/0x100 [ 79.695304] do_group_exit+0x33/0xb0 [ 79.695331] __x64_sys_exit_group+0x14/0x20 [ 79.695353] do_syscall_64+0x58/0x80 [ 79.695376] ? up_read+0x17/0x20 [ 79.695401] ? lock_is_held_type+0xe3/0x140 [ 79.695429] ? asm_exc_page_fault+0x22/0x30 [ 79.695450] ? lockdep_hardirqs_on+0x7d/0x100 [ 79.695473] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 79.695493] RIP: 0033:0x7ff1ccefe3f1 [ 79.695516] Code: Unable to access opcode bytes at RIP 0x7ff1ccefe3c7. [ 79.695607] RSP: 002b:00007ffed4413378 EFLAGS: ---truncated---

AI-Powered Analysis

AILast updated: 06/30/2025, 17:55:13 UTC

Technical Analysis

CVE-2022-48633 is a vulnerability identified in the Linux kernel, specifically within the Direct Rendering Manager (DRM) subsystem for the gma500 graphics driver. The issue arises due to improper handling of locking mechanisms related to the ww_mutex (wound-wait mutex) used in the graphics memory management functions. The vulnerability is triggered by the sequence of calls where psb_gem_unpin() invokes dma_resv_lock(), but the underlying ww_mutex is prematurely destroyed by drm_gem_object_release(). This leads to a WARN_ON(lock->magic != lock) error, indicating a corrupted or invalid lock state. The root cause is that drm_gem_object_release() is called too early in the psb_gem_free_object() function, before the unpin operation completes, causing the mutex to be destroyed while still in use. This results in kernel warnings and potentially unstable behavior, including kernel panics or crashes. The vulnerability affects Linux kernel versions containing the gma500 DRM driver implementation prior to the fix that reorders the drm_gem_object_release() call to occur after the unpin operation. Although the vulnerability does not appear to have known exploits in the wild, it represents a kernel-level flaw that can cause denial of service through system instability or crashes when the affected driver code is exercised. The issue is technical and specific to the Intel GMA500 graphics driver, which is used in certain embedded or legacy systems. The vulnerability was reserved in February 2024 and published in April 2024, with no CVSS score assigned yet.

Potential Impact

For European organizations, the impact of CVE-2022-48633 is primarily related to system stability and availability. Organizations using Linux systems with the affected gma500 graphics driver—commonly found in older or embedded devices—may experience kernel warnings, crashes, or denial of service conditions if the vulnerability is triggered. This could disrupt critical services or operations relying on these systems. While the vulnerability does not directly lead to privilege escalation or data breach, the resulting instability can cause operational downtime, impacting business continuity. Sectors relying on embedded Linux devices with this hardware, such as industrial control systems, telecommunications, or legacy IT infrastructure, may be particularly affected. The lack of known exploits reduces immediate risk, but unpatched systems remain vulnerable to accidental or targeted triggering of the flaw, especially in environments where the gma500 driver is actively used. European organizations with strict uptime requirements or those operating critical infrastructure should prioritize addressing this issue to avoid unexpected service interruptions.

Mitigation Recommendations

To mitigate CVE-2022-48633, European organizations should: 1) Identify Linux systems using the gma500 DRM driver, focusing on embedded or legacy devices where this hardware is present. 2) Apply the official Linux kernel patches that reorder the drm_gem_object_release() call to after the unpin operation in the psb_gem_free_object() function. This fix resolves the improper mutex handling and prevents the WARN_ON error. 3) If immediate patching is not feasible, consider isolating or limiting access to affected systems to reduce the risk of triggering the vulnerability. 4) Monitor kernel logs for WARN_ON(lock->magic != lock) messages or related kernel warnings that may indicate attempts to exploit or accidental triggering of the flaw. 5) Engage with Linux distribution vendors or embedded system providers to obtain updated kernel versions or backported fixes. 6) For critical environments, conduct thorough testing of updated kernels to ensure stability and compatibility before deployment. 7) Maintain robust backup and recovery procedures to minimize downtime in case of system crashes related to this vulnerability.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-02-25T13:44:28.315Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d982ec4522896dcbe5d1d

Added to database: 5/21/2025, 9:09:02 AM

Last enriched: 6/30/2025, 5:55:13 PM

Last updated: 8/12/2025, 11:29:47 AM

Views: 16

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats