{"id":"CVE-2022-50750","state":"PUBLISHED","title":"drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure","description":"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.","publishedAt":"2025-12-24T13:05:45.447Z","updatedAt":"2026-10-15T21:41:23.597Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"0b7c47b7f358f932159a9d5beec9616ef8a0c6b4","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"576828e59a0e03bbc763872912b04f3e3a1b3311","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"13fc167e1645c43c631d7752d98e377f0e4cbb15","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"23fddf78eac8d79c56f93ab69b6c47a0816967c9","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"465611e812587e72bf235034edce0e51be3d6809","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"c62102165dd79284d42383d2f7ed17301bd8e629","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/panel/panel-sitronix-st7701.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.1","versionType":"semver"},{"version":"5.4.229","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.163","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.86","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.16","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1.2","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/panel/panel-sitronix-st7701.c"]}],"references":["https://git.kernel.org/stable/c/0b7c47b7f358f932159a9d5beec9616ef8a0c6b4","https://git.kernel.org/stable/c/576828e59a0e03bbc763872912b04f3e3a1b3311","https://git.kernel.org/stable/c/13fc167e1645c43c631d7752d98e377f0e4cbb15","https://git.kernel.org/stable/c/23fddf78eac8d79c56f93ab69b6c47a0816967c9","https://git.kernel.org/stable/c/465611e812587e72bf235034edce0e51be3d6809","https://git.kernel.org/stable/c/c62102165dd79284d42383d2f7ed17301bd8e629"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/50xxx/CVE-2022-50750.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50750","state":"PUBLISHED","datePublished":"2025-12-24T13:05:45.447Z","dateUpdated":"2026-10-15T21:41:23.597Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-12-24T13:02:21.544Z"},"containers":{"cna":{"title":"drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure","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."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"0b7c47b7f358f932159a9d5beec9616ef8a0c6b4","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"576828e59a0e03bbc763872912b04f3e3a1b3311","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"13fc167e1645c43c631d7752d98e377f0e4cbb15","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"23fddf78eac8d79c56f93ab69b6c47a0816967c9","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"465611e812587e72bf235034edce0e51be3d6809","versionType":"git"},{"version":"849b2e3ff9698226ab91e034d52cbb1da92a5b4c","status":"affected","lessThan":"c62102165dd79284d42383d2f7ed17301bd8e629","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/panel/panel-sitronix-st7701.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.1","versionType":"semver"},{"version":"5.4.229","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.163","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.86","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.16","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1.2","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/panel/panel-sitronix-st7701.c"]}],"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"}],"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."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T08:59:38.061Z"},"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"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2022-50750","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-15T21:32:23.127198Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-15T21:41:23.597Z"}}]}}}