---
id: CVE-2025-38198
title: 'fbcon: Make sure modelist not set on unregistered console'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  fbcon: Make sure modelist not set on unregistered console

  It looks like attempting to write to the "store_modes" sysfs node will
  run afoul of unregistered consoles:

  U…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 409d6c95f9c68bb7046410a3502e26e454a1e636 <
    b3237d451bf3a4490cb1a76f3b7c91d9888f1c4b
  - >-
    Linux >= 409d6c95f9c68bb7046410a3502e26e454a1e636 <
    519ba75728ee8cd561dce25fc52a2ec5c47171dc
  - >-
    Linux >= 409d6c95f9c68bb7046410a3502e26e454a1e636 <
    f28f1f578cd810779d01999c60618cda14c281dd
  - >-
    Linux >= 409d6c95f9c68bb7046410a3502e26e454a1e636 <
    54b28f7c567dd659e5f9562f518e4d7f3f6a367b
  - >-
    Linux >= 409d6c95f9c68bb7046410a3502e26e454a1e636 <
    cedc1b63394a866bf8663a3e40f4546f1d28c8d8
  - Linux 5.19
published: '2025-07-04'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:06:44.445Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-38198'
references:
  - url: 'https://git.kernel.org/stable/c/b3237d451bf3a4490cb1a76f3b7c91d9888f1c4b'
  - url: 'https://git.kernel.org/stable/c/519ba75728ee8cd561dce25fc52a2ec5c47171dc'
  - url: 'https://git.kernel.org/stable/c/f28f1f578cd810779d01999c60618cda14c281dd'
  - url: 'https://git.kernel.org/stable/c/54b28f7c567dd659e5f9562f518e4d7f3f6a367b'
  - url: 'https://git.kernel.org/stable/c/cedc1b63394a866bf8663a3e40f4546f1d28c8d8'
tags:
  - cve.org
epss: 0.00188
epssPercentile: 0.08353
ingestedAt: '2026-10-15T05:52:46.094Z'
---

## Overview

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

fbcon: Make sure modelist not set on unregistered console

It looks like attempting to write to the "store_modes" sysfs node will
run afoul of unregistered consoles:

UBSAN: array-index-out-of-bounds in drivers/video/fbdev/core/fbcon.c:122:28
index -1 is out of range for type 'fb_info *[32]'
...
 fbcon_info_from_console+0x192/0x1a0 drivers/video/fbdev/core/fbcon.c:122
 fbcon_new_modelist+0xbf/0x2d0 drivers/video/fbdev/core/fbcon.c:3048
 fb_new_modelist+0x328/0x440 drivers/video/fbdev/core/fbmem.c:673
 store_modes+0x1c9/0x3e0 drivers/video/fbdev/core/fbsysfs.c:113
 dev_attr_store+0x55/0x80 drivers/base/core.c:2439

static struct fb_info *fbcon_registered_fb[FB_MAX];
...
static signed char con2fb_map[MAX_NR_CONSOLES];
...
static struct fb_info *fbcon_info_from_console(int console)
...
        return fbcon_registered_fb[con2fb_map[console]];

If con2fb_map contains a -1 things go wrong here. Instead, return NULL,
as callers of fbcon_info_from_console() are trying to compare against
existing "info" pointers, so error handling should kick in correctly.

## Affected

- `Linux >= 409d6c95f9c68bb7046410a3502e26e454a1e636 < b3237d451bf3a4490cb1a76f3b7c91d9888f1c4b`
- `Linux >= 409d6c95f9c68bb7046410a3502e26e454a1e636 < 519ba75728ee8cd561dce25fc52a2ec5c47171dc`
- `Linux >= 409d6c95f9c68bb7046410a3502e26e454a1e636 < f28f1f578cd810779d01999c60618cda14c281dd`
- `Linux >= 409d6c95f9c68bb7046410a3502e26e454a1e636 < 54b28f7c567dd659e5f9562f518e4d7f3f6a367b`
- `Linux >= 409d6c95f9c68bb7046410a3502e26e454a1e636 < cedc1b63394a866bf8663a3e40f4546f1d28c8d8`
- `Linux 5.19`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
