Skip to content
Heist/ feed
High

drm/amd/display: Fix out-of-bounds stream encoder index v3

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Fix out-of-bounds stream encoder index v3 eng_id can be negative and that stream_enc_regs[] can be indexed out of bounds. eng_id is used directly as an index into stream_enc_regs[], which has only 5 entries. When eng_id is 5 (ENGINE_ID_DIGF) or negative, this can access memory past the end of the array. Add a bounds check using ARRAY_SIZE() before using eng_id as an index. The unsigned cast also rejects negative values. This avoids out-of-bounds access. Fixes the below smatch error: dcn*_resource.c: stream_encoder_create() may index stream_enc_regs[eng_id] out of bounds (size 5). drivers/gpu/drm/amd/amdgpu/../display/dc/resource/dcn351/dcn351_resource.c 1246 static struct stream_encoder *dcn35_stream_encoder_create( 1247 enum engine_id eng_id, 1248 struct dc_context *ctx) 1249 { ... 1255 1256 /* Mapping of VPG, AFMT, DME register blocks to DIO block instance */ 1257 if (eng_id <= ENGINE_ID_DIGF) { ENGINE_ID_DIGF is 5. should <= be dc_bios, 1283 eng_id, vpg, afmt, --> 1284 &stream_enc_regs[eng_id], ^^^^^^^^^^^^^^^^^^^^^^^ This stream_enc_regs[] array has 5 elements so we are one element beyond the end of the array. ... 1287 return &enc1->base; 1288 } v2: use explicit bounds check as suggested by Roman/Dan; avoid unsigned int cast v3: The compiler already knows how to compare the two values, so the cast (int) is not needed. (Roman)

Announced Source revision 1
Original source ↗

CVE-2026-46263

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-46263

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "2728e9c7c84235d2d7bc1403174d071ffc82d6d2",
        "lessThan": "29f3824b08a98d41ecbbfd33580630d7607f962e",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "2728e9c7c84235d2d7bc1403174d071ffc82d6d2",
        "lessThan": "263e28add4f4472cfa95150d218955d1945aa413",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "2728e9c7c84235d2d7bc1403174d071ffc82d6d2",
        "lessThan": "ca3808d560ad946ab6d089fd1f5bee04b952ead4",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "2728e9c7c84235d2d7bc1403174d071ffc82d6d2",
        "lessThan": "abde491143e4e12eecc41337910aace4e8d59603",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "drivers/gpu/drm/amd/display/dc/resource/dcn315/dcn315_resource.c",
      "drivers/gpu/drm/amd/display/dc/resource/dcn316/dcn316_resource.c",
      "drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c",
      "drivers/gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c",
      "drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c",
      "drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "6.9"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "6.9",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.12.75",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.14",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "6.19.4",
        "versionType": "semver",
        "lessThanOrEqual": "6.19.*"
      },
      {
        "status": "unaffected",
        "version": "7.0",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "drivers/gpu/drm/amd/display/dc/resource/dcn315/dcn315_resource.c",
      "drivers/gpu/drm/amd/display/dc/resource/dcn316/dcn316_resource.c",
      "drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c",
      "drivers/gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c",
      "drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c",
      "drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-46263

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#40165 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement