CVE-2026-43236

drm/atmel-hlcdc: fix use-after-free of drm_crtc_commit after release

State
Published
Severity
7.8 High
Published
May 6, 2026
Updated
Aug 5, 2026
Reserved
May 1, 2026

Read the record on cve.org

Description

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

drm/atmel-hlcdc: fix use-after-free of drm_crtc_commit after release

The atmel_hlcdc_plane_atomic_duplicate_state() callback was copying the atmel_hlcdc_plane state structure without properly duplicating the drm_plane_state. In particular, state->commit remained set to the old state commit, which can lead to a use-after-free in the next drm_atomic_commit() call.

Fix this by calling __drm_atomic_helper_duplicate_plane_state(), which correctly clones the base drm_plane_state (including the ->commit pointer).

It has been seen when closing and re-opening the device node while another DRM client (e.g. fbdev) is still attached:

============================================================================= BUG kmalloc-64 (Not tainted): Poison overwritten -----------------------------------------------------------------------------

0xc611b344-0xc611b344 @offset=836. First byte 0x6a instead of 0x6b FIX kmalloc-64: Restoring Poison 0xc611b344-0xc611b344=0x6b Allocated in drm_atomic_helper_setup_commit+0x1e8/0x7bc age=178 cpu=0 pid=29 drm_atomic_helper_setup_commit+0x1e8/0x7bc drm_atomic_helper_commit+0x3c/0x15c drm_atomic_commit+0xc0/0xf4 drm_framebuffer_remove+0x4cc/0x5a8 drm_mode_rmfb_work_fn+0x6c/0x80 process_one_work+0x12c/0x2cc worker_thread+0x2a8/0x400 kthread+0xc0/0xdc ret_from_fork+0x14/0x28 Freed in drm_atomic_helper_commit_hw_done+0x100/0x150 age=8 cpu=0 pid=169 drm_atomic_helper_commit_hw_done+0x100/0x150 drm_atomic_helper_commit_tail+0x64/0x8c commit_tail+0x168/0x18c drm_atomic_helper_commit+0x138/0x15c drm_atomic_commit+0xc0/0xf4 drm_atomic_helper_set_config+0x84/0xb8 drm_mode_setcrtc+0x32c/0x810 drm_ioctl+0x20c/0x488 sys_ioctl+0x14c/0xc20 ret_fast_syscall+0x0/0x54 Slab 0xef8bc360 objects=21 used=16 fp=0xc611b7c0 flags=0x200(workingset|zone=0) Object 0xc611b340 @offset=832 fp=0xc611b7c0

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 2389fc1305fc1e2cf8b310a75463fefd3058bf48 to before fd4a4d0711f48a99b25bcd45e00eef8339eff82dAffected
  • 2389fc1305fc1e2cf8b310a75463fefd3058bf48 to before 6404898af86d986db1dbbe06177c143e40652e49Affected
  • 2389fc1305fc1e2cf8b310a75463fefd3058bf48 to before 796e77c14c4c1e2cd36473760fb6cc66c695eb47Affected
  • 2389fc1305fc1e2cf8b310a75463fefd3058bf48 to before ac2d898da5095d46bd1ff8585fdd753d58ad91e7Affected
  • 2389fc1305fc1e2cf8b310a75463fefd3058bf48 to before a205740a7231e967ac77cb731171642901c327afAffected
  • 2389fc1305fc1e2cf8b310a75463fefd3058bf48 to before 7b4d0fab3ff2c00c6d34e1952c9df5129a826aeeAffected
  • 2389fc1305fc1e2cf8b310a75463fefd3058bf48 to before 549c6db503dbb85dbff4840830971853feac6625Affected
  • 2389fc1305fc1e2cf8b310a75463fefd3058bf48 to before bc847787233277a337788568e90a6ee1557595ebAffected
LinuxLinux
  • 4.1Affected
  • before 4.1Not affected
  • 5.10.252 through 5.10.*Not affected
  • 5.15.202 through 5.15.*Not affected
  • 6.1.165 through 6.1.*Not affected
  • 6.6.128 through 6.6.*Not affected
  • 6.12.75 through 6.12.*Not affected
  • 6.18.16 through 6.18.*Not affected
  • 6.19.6 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.