Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Local access to a vt(4) device by an unprivileged user (AV:L/PR:L), straightforward overflow trigger (AC:L), and kernel memory corruption enabling root escalation gives full C/I/A impact.
Primary rating from Vendor (freebsd).
CVSS VectorVendor: freebsd
Lifecycle Timeline
3DescriptionCVE.org
The CONS_HISTORY ioctl handler did not adequately validate the requested history size. A large value caused an integer overflow in the buffer size calculation, resulting in a heap allocation smaller than expected. Subsequent initialization of the buffer wrote beyond the end of the allocation.
An unprivileged local user with access to a vt(4) device can trigger an out-of-bounds write in the kernel, potentially escalating privileges.
AnalysisAI
Local privilege escalation in the FreeBSD kernel's vt(4) console driver stems from an integer overflow in the CONS_HISTORY ioctl handler, where an unvalidated history-size value undersizes a heap allocation and a subsequent buffer initialization writes past its end. Any unprivileged local user with access to a vt(4) terminal device can corrupt kernel heap memory and potentially escalate to root. Exploitation is local (PR:L) with no public exploit identified at time of analysis and a low EPSS of 0.18% (8th percentile).
Technical ContextAI
The flaw lives in vt(4), FreeBSD's modern virtual terminal/console subsystem, specifically its scrollback history feature exposed through the CONS_HISTORY console ioctl. The root cause is CWE-190 (Integer Overflow or Wraparound): the handler multiplies/computes a buffer size from an attacker-supplied history size without bounds checking, so a sufficiently large value wraps the size calculation and yields a heap allocation smaller than the logically intended buffer. The driver then initializes the buffer assuming the larger requested size, producing a classic heap out-of-bounds write inside kernel address space. The CPE cpe:2.3:a:freebsd:freebsd:*:*:*:*:* identifies the affected component as the FreeBSD base operating system itself rather than a third-party port.
RemediationAI
Apply the FreeBSD-released patches: update to FreeBSD 14.3-RELEASE-p15, 14.4-RELEASE-p6, or 15.0-RELEASE-p10 (or later) per advisory FreeBSD-SA-26:34.vt at https://security.freebsd.org/advisories/FreeBSD-SA-26:34.vt.asc, typically via freebsd-update fetch && freebsd-update install followed by a reboot, or by rebuilding the kernel from corrected sources. Where immediate patching is not possible, reduce exposure by restricting access to vt(4) console/terminal device nodes so untrusted local users cannot open them, and avoid granting shell access to untrusted accounts on affected hosts; on systems that do not require the vt scrollback console, limiting who can reach the physical/virtual console reduces the attack surface. The trade-off of restricting console device access is potential disruption to legitimate local console users and tooling that relies on the history ioctl, so validate in a maintenance window. Patching is strongly preferred over workarounds because the underlying ioctl is part of standard kernel console functionality.
The x86-64 kernel system-call functionality in Xen 4.1.2 and earlier, as used in Citrix XenServer 6.0.2 and earlier and
The rtsol(8) and rtsold(8) programs do not validate the domain search list options provided in router advertisement mess
The RFC 5011 implementation in rdata.c in ISC BIND 9.7.x and 9.8.x before 9.8.5-P2, 9.8.6b1, 9.9.x before 9.9.3-P2, and
Remote code execution in OpenSSH's sshd server (regression of CVE-2006-5051) allows unauthenticated remote attackers to
The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
The vm_map_lookup function in sys/vm/vm_map.c in the mmap implementation in the kernel in FreeBSD 9.0 through 9.1-RELEAS
Integer overflow in the _gd2GetHeader function in gd_gd2.c in the GD Graphics Library (aka libgd) before 2.2.3, as used
The Stream Control Transmission Protocol (SCTP) module in FreeBSD 9.3 before p33, 10.1 before p26, and 10.2 before p9, w
In FreeBSD 12.1-STABLE before r359565, 12.1-RELEASE before p7, 11.4-STABLE before r362975, 11.4-RELEASE before p1, and 1
A statement in the System Programming Guide of the Intel 64 and IA-32 Architectures Software Developer's Manual (SDM) wa
The SCTP implementation in FreeBSD 8.2 allows remote attackers to cause a denial of service (NULL pointer dereference an
NFS in a BSD derived codebase, as used in OpenBSD through 7.4 and FreeBSD through 14.0-RELEASE, allows remote attackers
Same weakness CWE-190 – Integer Overflow or Wraparound
View allSame technique Buffer Overflow
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39960
GHSA-f3p8-j3ww-gvq7