fbcon: Make sure modelist not set on unregistered console
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.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.1.142, 6.12.35, 6.15.4, 6.6.95
- CVEs
- CVE-2025-38198
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 5 Nov 2026, 04:24 UTC · Revision 1
Source evidence
fbcon: Make sure modelist not set on unregistered console
core-osv · Original sourcePublished 4 Jul 2025, 13:37 UTC
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.
osv:CVE-2025-38198
Kernel
Fixed versions: 6.1.142, 6.6.95, 6.12.35, 6.15.4
Complete source record
{
"id": "3727c7cf3b28eb6332a3d115d97d36f2429731af7b19ceaf8aa59f5302fb0ca3",
"url": "https://osv.dev/vulnerability/CVE-2025-38198",
"method": "structured",
"payload": {
"kind": "advisory",
"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: 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.",
"evidence": "osv:CVE-2025-38198",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.1.142",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.95",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.35",
"evidence": "/affected/1/ranges"
},
{
"value": "6.15.4",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2025-38198",
"aliases": [
"CVE-2025-38198"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "409d6c95f9c68bb7046410a3502e26e454a1e636"
},
{
"fixed": "b3237d451bf3a4490cb1a76f3b7c91d9888f1c4b"
},
{
"fixed": "519ba75728ee8cd561dce25fc52a2ec5c47171dc"
},
{
"fixed": "f28f1f578cd810779d01999c60618cda14c281dd"
},
{
"fixed": "54b28f7c567dd659e5f9562f518e4d7f3f6a367b"
},
{
"fixed": "cedc1b63394a866bf8663a3e40f4546f1d28c8d8"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38198.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.19.0"
},
{
"fixed": "6.1.142"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.95"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.35"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.15.4"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38198.json"
}
}
],
"modified": "2026-10-28T02:30:42.664777129Z",
"provider": "osv",
"references": [
"https://cert-portal.siemens.com/productcert/html/ssa-082556.html",
"https://git.kernel.org/stable/c/519ba75728ee8cd561dce25fc52a2ec5c47171dc",
"https://git.kernel.org/stable/c/54b28f7c567dd659e5f9562f518e4d7f3f6a367b",
"https://git.kernel.org/stable/c/b3237d451bf3a4490cb1a76f3b7c91d9888f1c4b",
"https://git.kernel.org/stable/c/cedc1b63394a866bf8663a3e40f4546f1d28c8d8",
"https://git.kernel.org/stable/c/f28f1f578cd810779d01999c60618cda14c281dd",
"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38198.json",
"https://nvd.nist.gov/vuln/detail/CVE-2025-38198",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38198.json"
}
},
"related_cves": [
{
"value": "CVE-2025-38198",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 510253,
"published_at": "2025-07-04T13:37:20.588+00:00"
}