CVE-2022-50261 json
drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
published 2025-09-15 13 mo ago modified 2026-06-17 4 mo ago also EUVD-2022-55491
- cvss
- 5.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 5%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
With clang's kernel control flow integrity (kCFI, CONFIG_CFI_CLANG), indirect call targets are validated against the expected function pointer prototype to make sure the call target is valid to help mitigate ROP attacks. If they are not identical, there is a failure at run time, which manifests as either a kernel panic or thread getting killed. A proposed warning in clang aims to catch these at compile time, which reveals:
drivers/gpu/drm/sti/sti_hda.c:637:16: error: incompatible function pointer types initializing 'enum drm_mode_status (*)(struct drm_connector *, struct drm_display_mode *)' with an expression of type 'int (struct drm_connector *, struct drm_display_mode *)' [-Werror,-Wincompatible-function-pointer-types-strict] .mode_valid = sti_hda_connector_mode_valid, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/sti/sti_dvo.c:376:16: error: incompatible function pointer types initializing 'enum drm_mode_status (*)(struct drm_connector *, struct drm_display_mode *)' with an expression of type 'int (struct drm_connector *, struct drm_display_mode *)' [-Werror,-Wincompatible-function-pointer-types-strict] .mode_valid = sti_dvo_connector_mode_valid, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/sti/sti_hdmi.c:1035:16: error: incompatible function pointer types initializing 'enum drm_mode_status (*)(struct drm_connector *, struct drm_display_mode *)' with an expression of type 'int (struct drm_connector *, struct drm_display_mode *)' [-Werror,-Wincompatible-function-pointer-types-strict] .mode_valid = sti_hdmi_connector_mode_valid, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
->mode_valid() in 'struct drm_connector_helper_funcs' expects a return type of 'enum drm_mode_status', not 'int'. Adjust the return type of sti_{dvo,hda,hdmi}_connector_mode_valid() to match the prototype's to resolve the warning and CFI failure.
Patch / fix
- Linux Linux 4.9.337, 4.14.303, 4.19.270, 5.4.229, 5.10.163, 5.15.86, 6.0.16, 6.1.2, 6.2
- linux Debian 14, Debian 13, Debian 12 6.1.4-1
debian advisories DEBIAN-CVE-2022-50261
- linux Ubuntu 18.04 LTS 4.15.0-208.220
- linux Ubuntu 20.04 LTS 5.4.0-144.161
- linux Ubuntu 22.04 LTS 5.15.0-69.76
- linux-aws Ubuntu 18.04 LTS 4.15.0-1153.166
- linux-aws Ubuntu 20.04 LTS 5.4.0-1097.105
- linux-aws Ubuntu 22.04 LTS 5.15.0-1033.37
- linux-gcp Ubuntu 20.04 LTS 5.4.0-1101.110
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1031.38
ubuntu advisories UBUNTU-CVE-2022-50261
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt SLE Micro 5.5 5.14.21-150500.13.109.1
- kernel-source-rt SLE Micro 5.5 5.14.21-150500.13.109.1
- kernel-rt SLE Micro 5.4, SLE Micro 5.3 5.14.21-150400.15.133.1
- kernel-source-rt SLE Micro 5.4, SLE Micro 5.3 5.14.21-150400.15.133.1
- kernel-64kb SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS, SLE High Performance Computing 15 SP4-ESPOS 5.14.21-150400.24.179.1
- kernel-syms SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS +3 more 5.14.21-150400.24.179.1
- kernel-source SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS +3 more 5.14.21-150400.24.179.1
- kernel-default SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Micro 5.4 +7 more 5.14.21-150400.24.179.1
suse advisories SUSE-SU-2025:3761-1SUSE-SU-2025:3716-1SUSE-SU-2025:03628-1SUSE-SU-2025:03615-1
- git.kernel.org/stable/c/b2c92b2a3801b09b709cbefd9a9e4944b72400bf commit
- git.kernel.org/stable/c/b4307c7d35e346b909edfdc1f280902150570bb6 commit
- git.kernel.org/stable/c/8f9941dea3a70b73f2063f9dcc4aaae6af03c5ba commit
- git.kernel.org/stable/c/511b48ee8e4aec2d03d2af06b363d9eb3230b017 commit
- git.kernel.org/stable/c/6e3c4d3fa5d458d685561ecbaf8daa9dba14979e commit
- git.kernel.org/stable/c/a075c21ee026f4a74f9fce5928ea3c8d18a8af13 commit
- git.kernel.org/stable/c/e578b0906b6a81479cd5b5b6c848a7096addf5e9 commit
- git.kernel.org/stable/c/04371a75a58422a301a9ff9ae3babd310ac3bb3f commit
- git.kernel.org/stable/c/0ad811cc08a937d875cbad0149c1bab17f84ba05 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2022-50261 updated
kernel: drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.16% chance of exploitation in the next 30 days, higher than 5% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
-
git.kernel.org
/stable/c/b2c92b2a3801b09b709cbefd9a9e4944b72400bf
patch
-
git.kernel.org
/stable/c/b4307c7d35e346b909edfdc1f280902150570bb6
patch
-
git.kernel.org
/stable/c/8f9941dea3a70b73f2063f9dcc4aaae6af03c5ba
patch
-
git.kernel.org
/stable/c/511b48ee8e4aec2d03d2af06b363d9eb3230b017
patch
-
git.kernel.org
/stable/c/6e3c4d3fa5d458d685561ecbaf8daa9dba14979e
patch
-
git.kernel.org
/stable/c/a075c21ee026f4a74f9fce5928ea3c8d18a8af13
patch
-
git.kernel.org
/stable/c/e578b0906b6a81479cd5b5b6c848a7096addf5e9
patch
-
git.kernel.org
/stable/c/04371a75a58422a301a9ff9ae3babd310ac3bb3f
patch
-
git.kernel.org
/stable/c/0ad811cc08a937d875cbad0149c1bab17f84ba05
patch
Sources
- CVE List CVE-2022-50261
- NVD CVE-2022-50261
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.