Cloudanix VulnDB

CVE-2020-28974

Medium · 5.0

CVSS

5.0

EPSS

0.5%

Published

Nov 20, 2020

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in the Linux kernel's handling of console fonts can let someone with physical access read secret kernel information or crash the machine.

Exploit Available
Exploitation
Physical Access
Attacker needs
High Privilege
Complexity
Low
Impact
Data Exposure
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Slab out-of-bounds read in fbcon triggered by KD_FONT_OP_COPY ioctl in drivers/tty/vt/vt.c allowing local read of privileged kernel memory or kernel crash.

Why it matters to the business

Systems running vulnerable kernels face risk of local information disclosure or denial of service when an attacker has physical or high-privilege console access; widespread kernel deployments amplify exposure but require local access.

How an attack unfolds

An attacker with local console or root privileges issues a crafted KD_FONT_OP_COPY font operation through the vt subsystem to trigger the out-of-bounds slab read and extract kernel data or induce a crash.

How to fix it

Upgrade the Linux kernel to a version containing commit 3c4e0dff2095c579b142d5a0693257f1c58b4804 (equivalent to 5.9.7 or later).

How to confirm the fix worked

Verify kernel version is at least 5.9.7, confirm the listed commit is present in the source tree, and test that KD_FONT_OP_COPY no longer permits out-of-bounds access.

Typical attack path

  1. Obtain local or physical access to a Linux system
  2. Acquire privileges sufficient to issue vt ioctls (typically root or console access)
  3. Invoke KD_FONT_OP_COPY operation with manipulated font parameters
  4. Read leaked slab memory contents or trigger kernel panic

How to detect it

Review kernel logs for oops or panic entries referencing fbcon, vt.c, or slab out-of-bounds reads; inspect audit logs for unusual KD_FONT_OP_COPY ioctl activity from untrusted local sessions.

What your security team should do

  • Apply the kernel update containing commit 3c4e0dff2095c579b142d5a0693257f1c58b4804 immediately on all affected systems
  • Restrict physical and console access to limit local attack surface
  • Monitor kernel logs for fbcon or vt-related oops and panics

The record

A slab-out-of-bounds read in fbcon in the Linux kernel before 5.9.7 could be used by local attackers to read privileged information or potentially crash the kernel, aka CID-3c4e0dff2095. This occurs because KD_FONT_OP_COPY in drivers/tty/vt/vt.c can be used for manipulations such as font height.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 kernel-tools-libs-devel 0 4.18.0-305.el8
Debian:11 linux 0 5.9.9-1
Debian:12 linux 0 5.9.9-1
Debian:13 linux 0 5.9.9-1
Debian:14 linux 0 5.9.9-1
Debian:9 linux 0 4.9.246-1
Debian:9 linux-4.19 0 4.19.160-2~deb9u1
Mageia:7 aufs-tools 0 5.8-0.git20201212.1.mga7
Mageia:7 kernel 0 5.10.6-1.mga7
Mageia:7 kernel-linus 0 5.10.6-1.mga7
Mageia:7 kmod-virtualbox 0 6.1.16-8.mga7
Mageia:7 kmod-xtables-addons 0 3.13-4.mga7
Mageia:7 xtables-addons 0 3.13-1.mga7
Red Hat:enterprise_linux:8::baseos bpftool 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos bpftool-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-abi-stablelists 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-core 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-cross-headers 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-debug 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-core 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-devel 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-modules 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-modules-extra 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-aarch64 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-ppc64le 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-s390x 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-x86_64 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-devel 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-doc 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-headers 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-modules 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-modules-extra 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-tools 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-libs 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-libs-devel 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-core 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-devel 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules-extra 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos perf 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos perf-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos python3-perf 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::baseos python3-perf-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb bpftool 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb bpftool-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-abi-stablelists 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-core 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-cross-headers 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-debug 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-debug-core 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-debug-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-debug-devel 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-debug-modules 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-debug-modules-extra 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-aarch64 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-ppc64le 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-s390x 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-x86_64 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-devel 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-doc 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-headers 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-modules 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-modules-extra 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-tools 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-tools-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-tools-libs 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-tools-libs-devel 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-core 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-devel 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules-extra 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb perf 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb perf-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb python3-perf 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::crb python3-perf-debuginfo 0 0:4.18.0-305.el8
Red Hat:enterprise_linux:8::nfv kernel-rt 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-core 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-core 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-debuginfo 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-devel 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-kvm 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-modules 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-modules-extra 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debuginfo 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-debuginfo-common-x86_64 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-devel 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-kvm 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-modules 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::nfv kernel-rt-modules-extra 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-core 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-core 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-debuginfo 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-devel 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-kvm 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-modules 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-modules-extra 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debuginfo 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-debuginfo-common-x86_64 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-devel 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-kvm 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-modules 0 0:4.18.0-305.rt7.72.el8
Red Hat:enterprise_linux:8::realtime kernel-rt-modules-extra 0 0:4.18.0-305.rt7.72.el8
SUSE:Enterprise Storage 5 kernel-default 0 4.4.180-94.138.1
SUSE:Enterprise Storage 5 kernel-source 0 4.4.180-94.138.1
SUSE:Enterprise Storage 5 kernel-syms 0 4.4.180-94.138.1
SUSE:Enterprise Storage 5 kgraft-patch-SLE12-SP3_Update_37 0 1-4.3.1
SUSE:HPE Helion OpenStack 8 kernel-default 0 4.4.180-94.138.1
SUSE:HPE Helion OpenStack 8 kernel-source 0 4.4.180-94.138.1
SUSE:HPE Helion OpenStack 8 kernel-syms 0 4.4.180-94.138.1
SUSE:HPE Helion OpenStack 8 kgraft-patch-SLE12-SP3_Update_37 0 1-4.3.1
SUSE:Linux Enterprise High Availability Extension 12 SP2 kernel-default 0 4.4.121-92.149.1
SUSE:Linux Enterprise High Availability Extension 12 SP3 kernel-default 0 4.4.180-94.138.1
SUSE:Linux Enterprise High Availability Extension 12 SP4 kernel-default 0 4.12.14-95.68.1
SUSE:Linux Enterprise High Availability Extension 12 SP5 kernel-default 0 4.12.14-122.54.1
SUSE:Linux Enterprise High Availability Extension 15 kernel-default 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Availability Extension 15 SP1 kernel-default 0 4.12.14-197.75.1
SUSE:Linux Enterprise High Availability Extension 15 SP2 kernel-default 0 5.3.18-24.43.2
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-default 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-docs 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-obs-build 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-source 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-syms 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-vanilla 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-default 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-docs 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-obs-build 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-source 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-syms 0 4.12.14-150.66.1
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-vanilla 0 4.12.14-150.66.1
SUSE:Linux Enterprise Live Patching 12 SP4 kernel-default 0 4.12.14-95.68.1
SUSE:Linux Enterprise Live Patching 12 SP4 kgraft-patch-SLE12-SP4_Update_18 0 1-6.3.1
SUSE:Linux Enterprise Live Patching 12 SP5 kernel-default 0 4.12.14-122.54.1
SUSE:Linux Enterprise Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_13 0 1-8.3.1
SUSE:Linux Enterprise Live Patching 15 kernel-default 0 4.12.14-150.66.1
SUSE:Linux Enterprise Live Patching 15 kernel-livepatch-SLE15_Update_22 0 1-1.3.1
SUSE:Linux Enterprise Live Patching 15 SP1 kernel-default 0 4.12.14-197.75.1
SUSE:Linux Enterprise Live Patching 15 SP1 kernel-livepatch-SLE15-SP1_Update_20 0 1-3.3.1
SUSE:Linux Enterprise Live Patching 15 SP2 kernel-default 0 5.3.18-24.43.2
SUSE:Linux Enterprise Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_8 0 1-5.3.3
SUSE:Linux Enterprise Module for Basesystem 15 SP1 kernel-default 0 4.12.14-197.75.1
SUSE:Linux Enterprise Module for Basesystem 15 SP1 kernel-source 0 4.12.14-197.75.1
SUSE:Linux Enterprise Module for Basesystem 15 SP1 kernel-zfcpdump 0 4.12.14-197.75.1
SUSE:Linux Enterprise Module for Basesystem 15 SP2 kernel-default 0 5.3.18-24.43.2
SUSE:Linux Enterprise Module for Basesystem 15 SP2 kernel-default-base 0 5.3.18-24.43.2.9.17.3
SUSE:Linux Enterprise Module for Basesystem 15 SP2 kernel-preempt 0 5.3.18-24.43.2
SUSE:Linux Enterprise Module for Basesystem 15 SP2 kernel-source 0 5.3.18-24.43.2
SUSE:Linux Enterprise Module for Development Tools 15 SP1 kernel-docs 0 4.12.14-197.75.1
SUSE:Linux Enterprise Module for Development Tools 15 SP1 kernel-obs-build 0 4.12.14-197.75.1
SUSE:Linux Enterprise Module for Development Tools 15 SP1 kernel-source 0 4.12.14-197.75.1
SUSE:Linux Enterprise Module for Development Tools 15 SP1 kernel-syms 0 4.12.14-197.75.1
SUSE:Linux Enterprise Module for Development Tools 15 SP2 kernel-docs 0 5.3.18-24.43.2
SUSE:Linux Enterprise Module for Development Tools 15 SP2 kernel-obs-build 0 5.3.18-24.43.2
SUSE:Linux Enterprise Module for Development Tools 15 SP2 kernel-preempt 0 5.3.18-24.43.2
SUSE:Linux Enterprise Module for Development Tools 15 SP2 kernel-source 0 5.3.18-24.43.2
SUSE:Linux Enterprise Module for Development Tools 15 SP2 kernel-syms 0 5.3.18-24.43.2
SUSE:Linux Enterprise Module for Legacy 15 SP1 kernel-default 0 4.12.14-197.75.1
SUSE:Linux Enterprise Module for Legacy 15 SP2 kernel-default 0 5.3.18-24.43.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 kernel-azure 0 4.12.14-8.55.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 kernel-source-azure 0 4.12.14-8.55.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 kernel-syms-azure 0 4.12.14-8.55.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 kernel-azure 0 5.3.18-18.29.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 kernel-source-azure 0 5.3.18-18.29.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 kernel-syms-azure 0 5.3.18-18.29.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-rt 0 4.12.14-10.25.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-rt_debug 0 4.12.14-10.25.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-source-rt 0 4.12.14-10.25.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-syms-rt 0 4.12.14-10.25.1
SUSE:Linux Enterprise Server 11 SP4-LTSS kernel-bigmem 0 3.0.101-108.120.1
SUSE:Linux Enterprise Server 11 SP4-LTSS kernel-default 0 3.0.101-108.120.1
SUSE:Linux Enterprise Server 11 SP4-LTSS kernel-ec2 0 3.0.101-108.120.1
SUSE:Linux Enterprise Server 11 SP4-LTSS kernel-pae 0 3.0.101-108.120.1
SUSE:Linux Enterprise Server 11 SP4-LTSS kernel-ppc64 0 3.0.101-108.120.1
SUSE:Linux Enterprise Server 11 SP4-LTSS kernel-source 0 3.0.101-108.120.1
SUSE:Linux Enterprise Server 11 SP4-LTSS kernel-syms 0 3.0.101-108.120.1
SUSE:Linux Enterprise Server 11 SP4-LTSS kernel-trace 0 3.0.101-108.120.1
SUSE:Linux Enterprise Server 11 SP4-LTSS kernel-xen 0 3.0.101-108.120.1
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-default 0 4.4.121-92.149.1
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-source 0 4.4.121-92.149.1
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-syms 0 4.4.121-92.149.1
SUSE:Linux Enterprise Server 12 SP2-LTSS kernel-default 0 4.4.121-92.149.1
SUSE:Linux Enterprise Server 12 SP2-LTSS kernel-source 0 4.4.121-92.149.1
SUSE:Linux Enterprise Server 12 SP2-LTSS kernel-syms 0 4.4.121-92.149.1
SUSE:Linux Enterprise Server 12 SP2-LTSS kgraft-patch-SLE12-SP2_Update_39 0 1-3.3.1
SUSE:Linux Enterprise Server 12 SP3-BCL kernel-default 0 4.4.180-94.138.1
SUSE:Linux Enterprise Server 12 SP3-BCL kernel-source 0 4.4.180-94.138.1
SUSE:Linux Enterprise Server 12 SP3-BCL kernel-syms 0 4.4.180-94.138.1
SUSE:Linux Enterprise Server 12 SP3-LTSS kernel-default 0 4.4.180-94.138.1

Related vulnerabilities