{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50750","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-12-24T13:02:21.544Z","datePublished":"2025-12-24T13:05:45.447Z","dateUpdated":"2026-08-05T08:59:38.061Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T08:59:38.061Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure\n\nIn case mipi_dsi_attach() fails, call drm_panel_remove() to\navoid memory leak."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The bug is in the ST7701 MIPI-DSI panel probe path (st7701_dsi_probe → drm_panel_add → mipi_dsi_attach) and is subsequently hit via local DRM panel lookup (of_drm_find_panel walking panel_list); it is not reachable from network or adjacent-link packet processing.\nAC:L - mipi_dsi_attach commonly returns -EPROBE_DEFER/-EBUSY/-EINVAL on componentized DSI hosts (dw-mipi-dsi, Rockchip, MediaTek, sun6i), and on that failure path the dangling panel remains on panel_list while DEV_M frees st7701; a later of_drm_find_panel walk then deterministically uses the freed object with no attacker-uncontrollable race.\nPR:L - On realistic ST7701 deployments (e.g. Rockchip handhelds/HMI such as Odroid Go with sitronix,st7701), deferred-probe attach failure can establish the dangling panel_list entry at boot without privileges, and an unprivileged seat/video user can then trigger DRM connector/panel lookup; real init-namespace root is not required.\nUI:N - No separate victim action is required; boot-time probe deferral/failure plus the attacker’s own DRM modeset/connector probe ioctls drive the vulnerable path.\nS:U - Impact is confined to host-kernel heap corruption within the same OS security authority; this is not a VM escape, IOMMU/DMA bypass, or other cross-boundary compromise.\nC:H - Leaving &st7701->panel on the global panel_list after DEV_M frees st7701 is a reclaimable heap use-after-free; of_drm_find_panel reads panel->dev through that freed object, enabling arbitrary kernel read primitives via heap reuse.\nI:H - The same UAF lets an attacker reclaim and reshape the freed st7701/drm_panel object so later panel_list consumers act on attacker-controlled function pointers/state, enabling arbitrary write and control-flow hijacking.\nA:H - Dereferencing the dangling panel_list entry (panel->dev / panel ops) causes kernel oops/panic even without full exploitation, which is Availability High under kernel CVSS guidance for UAFs/crashes."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/panel/panel-sitronix-st7701.c"],"versions":[{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","lessThan":"0b7c47b7f358f932159a9d5beec9616ef8a0c6b4","status":"affected","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","lessThan":"576828e59a0e03bbc763872912b04f3e3a1b3311","status":"affected","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","lessThan":"13fc167e1645c43c631d7752d98e377f0e4cbb15","status":"affected","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","lessThan":"23fddf78eac8d79c56f93ab69b6c47a0816967c9","status":"affected","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","lessThan":"465611e812587e72bf235034edce0e51be3d6809","status":"affected","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","lessThan":"c62102165dd79284d42383d2f7ed17301bd8e629","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/panel/panel-sitronix-st7701.c"],"versions":[{"version":"5.1","status":"affected"},{"version":"0","lessThan":"5.1","status":"unaffected","versionType":"semver"},{"version":"5.4.229","lessThanOrEqual":"5.4.*","status":"unaffected","versionType":"semver"},{"version":"5.10.163","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.86","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.0.16","lessThanOrEqual":"6.0.*","status":"unaffected","versionType":"semver"},{"version":"6.1.2","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"5.4.229"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"5.10.163"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"5.15.86"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"6.0.16"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"6.1.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.1","versionEndExcluding":"6.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/0b7c47b7f358f932159a9d5beec9616ef8a0c6b4"},{"url":"https://git.kernel.org/stable/c/576828e59a0e03bbc763872912b04f3e3a1b3311"},{"url":"https://git.kernel.org/stable/c/13fc167e1645c43c631d7752d98e377f0e4cbb15"},{"url":"https://git.kernel.org/stable/c/23fddf78eac8d79c56f93ab69b6c47a0816967c9"},{"url":"https://git.kernel.org/stable/c/465611e812587e72bf235034edce0e51be3d6809"},{"url":"https://git.kernel.org/stable/c/c62102165dd79284d42383d2f7ed17301bd8e629"}],"title":"drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure","x_generator":{"engine":"bippy-1.2.0"}}}}