FreeBSD vt(4) Driver Integer Overflow Lets Local Users View Portions of System Memory on the Target System
SecurityTracker Alert ID: 1040629|
SecurityTracker URL: http://securitytracker.com/id/1040629
(Links to External Site)
Date: Apr 4 2018
Disclosure of system information|
Fix Available: Yes Vendor Confirmed: Yes |
Version(s): 10.3, 10.4, 11.1|
A vulnerability was reported in FreeBSD. A local user can obtain potentially sensitive information from system memory.|
A local user can load a specially crafted font to trigger an integer overflow in the vt(4) driver and view potentially sensitive information from kernel memory on the target system.
Dr Silvio Cesare of InfoSect reported this vulnerability.
A local user can obtain potentially sensitive information from kernel memory on the target system.|
FreeBSD has issued a fix.|
The FreeBSD advisory is available at:
Vendor URL: security.FreeBSD.org/advisories/FreeBSD-SA-18:04.vt.asc (Links to External Site)
Source Message Contents
Subject: FreeBSD Security Advisory FreeBSD-SA-18:04.vt|
-----BEGIN PGP SIGNED MESSAGE-----
FreeBSD-SA-18:04.vt Security Advisory
The FreeBSD Project
Topic: vt console memory disclosure
Module: vt console
Credits: Dr Silvio Cesare of InfoSect
Affects: All supported versions of FreeBSD.
Corrected: 2018-04-04 05:24:59 UTC (stable/11, 11.1-STABLE)
2018-04-04 05:33:56 UTC (releng/11.1, 11.1-RELEASE-p9)
2018-04-04 05:26:33 UTC (stable/10, 10.4-STABLE)
2018-04-04 05:33:56 UTC (releng/10.4, 10.4-RELEASE-p8)
2018-04-04 05:33:56 UTC (releng/10.3, 10.3-RELEASE-p29)
CVE Name: CVE-2018-6917
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit <URL:https://security.FreeBSD.org/>.
On FreeBSD 11 and later, and FreeBSD 10.x systems that boot via UEFI, the
default system video console is provided by the vt(4) driver. The console
allows the user, including an unprivileged user, to load a font at runtime.
II. Problem Description
Insufficient validation of user-provided font parameters can result in an
integer overflow, leading to the use of arbitrary kernel memory as glyph
data. Characters that reference this data can be displayed on the screen,
effectively disclosing kernel memory.
Unprivileged users may be able to access privileged kernel data.
Such memory might contain sensitive information, such as portions of the file
cache or terminal buffers. This information might be directly useful, or it
might be leveraged to obtain elevated privileges in some way; for example,
a terminal buffer might include a user-entered password.
The syscons sc(4) system console is not affected by this issue and may be
used on systems that do not boot via UEFI. To use the syscons console,
set the kern.vty tunable in /boot/loader.conf as described in sc(4), and
reboot. No workaround is available for systems that boot via UEFI.
Perform one of the following:
1) Upgrade your vulnerable system to a supported FreeBSD stable or
release / security branch (releng) dated after the correction date.
2) To update your vulnerable system via a binary patch:
Systems running a RELEASE version of FreeBSD on the i386 or amd64
platforms can be updated via the freebsd-update(8) utility:
# freebsd-update fetch
# freebsd-update install
A reboot is required after the upgrade.
3) To update your vulnerable system via a source code patch:
The following patches have been verified to apply to the applicable
FreeBSD release branches.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
# fetch https://security.FreeBSD.org/patches/SA-18:04/vt.patch
# fetch https://security.FreeBSD.org/patches/SA-18:04/vt.patch.asc
# gpg --verify vt.patch.asc
b) Apply the patch. Execute the following commands as root:
# cd /usr/src
# patch < /path/to/patch
c) Recompile your kernel as described in
<URL:https://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the
VI. Correction details
The following list contains the correction revision numbers for each
To see which files were modified by a particular revision, run the
following command, replacing NNNNNN with the revision number, on a
machine with Subversion installed:
# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
Or visit the following URL, replacing NNNNNN with the revision number:
The latest revision of this advisory is available at
-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----