Home    |    View Topics    |    Search    |    Contact Us    |   



Category:   OS (UNIX)  >   FreeBSD Kernel Vendors:   FreeBSD
FreeBSD telnetd Lets Remote Users Bypass Security Restrictions on the Target System
SecurityTracker Alert ID:  1037399
SecurityTracker URL:
CVE Reference:   CVE-2016-1888   (Links to External Site)
Date:  Dec 6 2016
Impact:   User access via network
Fix Available:  Yes  Vendor Confirmed:  Yes  
Version(s): 9.3, 10.1, 10.2, 10.3, 11.0
Description:   A vulnerability was reported in FreeBSD telnetd. A remote user can bypass security controls on the target system.

A remote user can supply specially crafted parameters to trigger a memory error and cause the target telnetd process to invoke the login(1) function with ostensibly restricted arguments. A remote user may be able to exploit this to bypass login authentication on the target system.

Brooks Davis (sponsored by: DARPA, AFRL) reported this vulnerability.

Impact:   A remote user may be able to bypass login security functions on the target system.
Solution:   FreeBSD has issued a fix.

The FreeBSD advisory is available at:

Vendor URL: (Links to External Site)
Cause:   Access control error

Message History:   None.

 Source Message Contents

Subject:  FreeBSD Security Advisory FreeBSD-SA-16:36.telnetd

Hash: SHA512

FreeBSD-SA-16:36.telnetd                                    Security Advisory
                                                          The FreeBSD Project

Topic:          Possible login(1) argument injection in telnetd(8)

Category:       core
Module:         telnetd
Announced:      2016-12-06
Credits:        Brooks Davis (sponsored by: DARPA, AFRL)
Affects:        All supported versions of FreeBSD.
Corrected:      2016-12-06 18:52:02 UTC (stable/11, 11.0-STABLE)
                2016-12-06 18:49:38 UTC (releng/11.0, 11.0-RELEASE-p4)
                2016-12-06 18:52:18 UTC (stable/10, 10.3-STABLE)
                2016-12-06 18:49:48 UTC (releng/10.3, 10.3-RELEASE-p13)
                2016-12-06 18:49:54 UTC (releng/10.2, 10.2-RELEASE-p26)
                2016-12-06 18:49:59 UTC (releng/10.1, 10.1-RELEASE-p43)
                2016-12-06 18:52:33 UTC (stable/9, 9.3-STABLE)
                2016-12-06 18:50:06 UTC (releng/9.3, 9.3-RELEASE-p51)
CVE Name:       CVE-2016-1888

For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit <URL:>.

I.   Background

The FreeBSD telnet daemon, telnetd(8), implements the server side of the
TELNET virtual terminal protocol.  It has been disabled by default in
FreeBSD since August 2001, and due to the lack of cryptographic security
in the TELNET protocol, it is strongly recommended that the SSH protocol
be used instead.  The FreeBSD telnet daemon can be enabled via the
/etc/inetd.conf configuration file and the inetd(8) daemon.

After a user is connected, telnetd executes the login(1) program or a
similar program specified by the -p <loginprog> argument.  In order to do
so, it constructs an array of command line arguments which are passed to

II.  Problem Description

An unexpected sequence of memory allocation failures combined with
insufficient error checking could result in the construction and
execution of an argument sequence that was not intended.

III. Impact

An attacker who controls the sequence of memory allocation failures and
success may cause login(1) to run without authentication and may be able
to cause misbehavior of login(1) replacements.

No practical way of controlling these memory allocation failures is
known at this time.

IV.  Workaround

No workaround is available, but systems not running the telnet daemon
are not vulnerable.

Note that the telnet daemon is usually run via inetd, and consequently
will not show up in a process listing unless a connection is currently
active; to determine if it is enabled, run

$ ps ax | grep telnetd | grep -v grep
$ grep telnetd /etc/inetd.conf | grep -vE '^#'

If any output is produced, your system may be vulnerable.

V.   Solution

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

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
# fetch
# gpg --verify telnetd.patch.asc

b) Apply the patch.  Execute the following commands as root:

# cd /usr/src
# patch < /path/to/patch

c) Recompile the operating system using buildworld and installworld as
described in <URL:>.

Kill any running telnetd processes, or reboot the system.

VI.  Correction details

The following list contains the correction revision numbers for each
affected branch.

Branch/path                                                      Revision
- -------------------------------------------------------------------------
stable/9/                                                         r309643
releng/9.3/                                                       r309637
stable/10/                                                        r309642
releng/10.1/                                                      r309636
releng/10.2/                                                      r309635
releng/10.3/                                                      r309634
stable/11/                                                        r309641
releng/11.0/                                                      r309633
- -------------------------------------------------------------------------

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://

Or visit the following URL, replacing NNNNNN with the revision number:


VII. References


The latest revision of this advisory is available at

_______________________________________________ mailing list
To unsubscribe, send any mail to ""

Go to the Top of This SecurityTracker Archive Page

Home   |    View Topics   |    Search   |    Contact Us

This web site uses cookies for web analytics. Learn More

Copyright 2022, LLC