Cisco Systems Field Notice:
Vulnerabilities in Cisco CHAP Authentication
October 1, 1997, 09:00 AM US/Pacific, Revision 4
------------------------------------------------------------------------
Summary
-------
A serious security vulnerability (bug ID CSCdi91594) exists in PPP CHAP
authentication in all "classic" Cisco IOS software versions (the software
used on Cisco non-switch products with product numbers greater than or equal
to 1000, on the AGS/AGS+/CGS/MGS, and on the CS-500, but not on Catalyst
switches or on 7xx or 9xx routers) starting with the introduction of CHAP
support in release 9.1(1). The vulnerability permits attackers with
appropriate skills and knowledge to completely circumvent CHAP
authentication. Other PPP authentication methods are not affected.
A related vulnerability exists in Cisco IOS/700 software (the software used
on 7xx routers). A configuration workaround exists for IOS/700, and a
complete fix for 76x and 77x routers will be included in software version
4.1(2), due to be released by December, 1997. A fix for 75x routers is
scheduled for the first half of 1998.
This problem has been corrected in the following classic Cisco IOS software
releases:
Major First Repaired Recommended Maintenance Releases
Release Maintenance Release For Installation
------- ------------------- ----------------
Cisco IOS
10.3 10.3(19a) 10.3(19a)
Cisco IOS
11.0 11.0(17), 11.0(17)BT 11.0(17), 11.0(17)BT
Cisco IOS 11.1(13), 11.1(13)AA, 11.1(14), 11.1(14)AA, 11.1(14)CA,
11.1 11.1(13)CA, 11.1(13)IA 11.1(14)IA
Cisco IOS 11.2(8), 11.2(8)P, 11.2(8), 11.2(8)P, 11.2(4)F1.
11.2 11.2(4)F1 (replaces 11.2(9) not recommended for CHAP
11.2(4)F) users.
Cisco Systems strongly recommends that all customers using classic IOS PPP
with CHAP authentication upgrade to one of these or to a newer release, and
that all users of IOS/700 PPP with CHAP authentication install the
configuration workarounds described in this document.
The 11.2(4)F1 release will be available by Monday, October 6, 1997. Users of
11.2F releases are encouraged to move to 11.2 or 11.2P releases if at all
possible. All the other releases mentioned above are available immediately
as of the release of this notice.
The recommended release numbers listed above are expected to be the best
choices for most common situations, but it's very important that customers
evaluate their network configurations and other needs before choosing which
releases to use.
Cisco is offering free software upgrades to all classic IOS PPP users in
order to address this vulnerability. Upgrade details are at the end of this
notice. Free upgrades will be offered to IOS/700 users upon release of
IOS/700 version 4.1(2).
Impact
------
A moderately sophisticated programmer with appropriate knowledge can set up
an unauthorized PPP connection to any system that is running vulnerable
software, and that depends on CHAP for authentication. To gain this
unauthorized access, an attacker must have the following:
* Knowledge of the details of this vulnerability
* Access to modifiable code (generally meaning source code) for a
PPP/CHAP implementation, and sufficient programming skill to make
simple changes to that code. Note that such source code is widely
available on the Internet.
* A modest amount of information about the configuration of the network
to be attacked, including such things as usernames and IP addresses.
This vulnerability cannot be exploited by an attacker who is using an
unmodified, properly functioning PPP/CHAP implementation; the attacker must
make modifications to his or her software to exploit this vulnerability.
Who is Vulnerable
-----------------
All systems running "classic" Cisco IOS Software releases older than those
listed above, and which rely on CHAP for PPP authentication, are vulnerable.
Cisco believes that the greatest practical risk is to dialin services using,
for example, ISDN or POTS modems.
Systems running IOS/700 software are vulnerable to a related attack if they
are using CHAP bidirectionally to authenticate both calling and called
systems.
Systems using PAP for PPP authentication are not vulnerable. Systems not
configured for PPP are not vulnerable. If the keywords "ppp" and "chap" do
not both appear in your system configuration file, you are not vulnerable.
Workarounds - Classic IOS
-------------------------
Cisco knows of no generally usable workarounds for the classic IOS
vulnerability. Affected users who wish to protect themselves must upgrade
their software or stop using CHAP authentication. Alternatives to CHAP
authentication include PAP authentication and reliance on "Caller ID"
information. The security differences between these methods are complex and
situation dependent, and are beyond the scope of this document.
Workarounds - IOS/700
---------------------
The IOS/700 vulnerability may be avoided by making any of the following
configuration changes:
* Prevent the routers in question from receiving any incoming calls,
perhaps by changing the ISDN switch configuration, or by relying on
caller ID and using the "set callerid" and "set callidreceive" commands
* Prevent routers that receive calls from authenticating themselves to
the calling systems using CHAP. You can effectively do this by using
the "set ppp secret client" command to set the CHAP secret that would
be used for such authentication to some randomly chosen "garbage"
value.
* Configure the routers such that different CHAP secrets are used in each
direction on each link. You can do this using the "set ppp secret
client" and "set ppp secret host" commands. Note that this method
cannot be used on 7xx routers that need to communicate with classic IOS
routers, since classic IOS does not support asymmetric CHAP secrets.
Any one of these changes should be sufficient. The changes may be removed
after the release and installation of IOS/700 software version 4.1(2).
Classic IOS Software Upgrade Notes
----------------------------------
You should upgrade your classic Cisco IOS software to one of the releases
mentioned in the first section of this notice, or to a later release.
Instructions for obtaining the new software are at the end of this notice.
Instructions for installing upgraded software are in the standard system
documentation.
Before installing any Cisco IOS software upgrade, you should always verify
that the new software is compatible with your hardware. It's especially
important to make sure that you have enough memory to do the upgrade.
General assistance and full system documentation are available via the
Internet's Worldwide Web at http://www.cisco.com.
Before installing any upgrade of any description, it's always wise to make
sure that the version you're installing has no bugs that will negatively
impact your configuration. Please check Cisco's Web site for more
information and advice on software upgrades in general.
The new software has been changed in a number of ways in order to make it
more resistant to CHAP-related attacks. Some of those changes may cause CHAP
authentication to fail in certain customer networks. Cisco believes the
affected configurations to be rare. If you install upgraded software, and
legitimate CHAP connections stop working, please see the paragraphs
immediately following this one, which we believe describe the failures that
are likely to be be seen in real networks. If you still can't get CHAP
working after reading the paragraphs below, please call the Cisco TAC for
assistance in reconfiguring your software.
The fix for this vulnerability was released in Cisco IOS software version
10.3(19), but an error in the implementation of the fix caused almost all
CHAP authentication between 10.3(19) systems to fail. This error is
corrected in 10.3(19a). 10.3(19) may be safely used if the command "no ppp
chap wait" is configured for each interface on which CHAP is used. Because
multiple fixes have been introduced for the potential attack against which
the modified behavior guards, using "no ppp chap wait" will not appreciably
increase your system's vulnerability.
If an intermediate device, such as an ISDN switch, establishes incoming
calls to two separate systems running the modified IOS software, and then
places those two systems in contact with one another, CHAP authentication
between the two systems may fail. This is because each system "thinks" that
it's receiving a call, and neither system "thinks" that it originated the
call. If this is a problem in your configuration, use the command "ppp
direction dedicated" on the affected interfaces of both systems.
Exploitation
------------
Cisco is not aware of these vulnerabilities having been exploited by "system
crackers", nor of any publicly available exploitation code. Cisco does not
believe that the details of the vulnerabilities are widely understood in the
cracker community. The theoretical possibility of these vulnerabilities has,
however, been discussed fairly openly among PPP security professionals.
Even though Cisco does not know of active exploitation of these
vulnerabilities, Cisco expects that the cracker community will eventually
"discover" them, and that the issuance of this notice will tend to
accelerate that process. Vulnerable customers should upgrade or install
workarounds with all possible speed.
Details of the Vulnerabilities
------------------------------
Cisco will not release any further details of these vulnerabilities at this
time. Further details will be available to interested parties after March
31, 1998.
The Cisco bug tracking number for the Cisco IOS software vulnerability is
CSCdi91594. The bug tracking number for the error in the 10.3(19) fix is
CSCdj37314.
Upgrades
--------
Cisco customers and service partners can obtain the latest releases of Cisco
IOS software from the Software Center within Cisco Connection Online (CCO),
Cisco's Internet customer support service. CCO is located at
"http://www.cisco.com".
1. Existing Registered Users for CCO
Customers and Partners with Cisco IOS software service agreements who
are already registered for CCO may proceed directly to the Cisco IOS
Software Center to obtain a new software release to solve this issue.
The Software Center includes Software Upgrade Planners to inform you
about new features, additional caveats, release notes, and
compatibility requirements to ensure a successful upgrade. The Cisco
IOS Software Center is located at
"http://www.cisco.com/kobayashi/sw-center/sw-ios.shtml".
2. New Registered Users for CCO
Customers and Partners who have a software service contracts directly
with Cisco or a Cisco Partner, but have not yet registered for Cisco
Connection Online, and who know their contract number, can proceed
directly to register online at
"http://www.cisco.com/public/registration.shtml". Online registration
takes effect immediately, after which customers may proceed directly to
the Software Center to obtain an upgrade.
3. Assistance in Registering on CCO
Customers and Partners who have a software service contract, but need
to confirm their contract number to register for CCO, or require any
other assistance registering for CCO access should contact Cisco's
Global Technical Assistance Center (TAC) at 1-800-553-2447,
1-408-526-7209, or email "tac@cisco.com". Additional worldwide contacts
for Cisco support can be found at
"http://www.cisco.com/warp/public/687/Directory/DirTAC.html".
4. Non Registered Users & CCO Special Access
Customers who do not have Cisco IOS software service agreements with
either Cisco or a Cisco partner can obtain software on an as-needed
basis by contacting their Cisco Partner or Cisco TAC. Please see the
above information for contacting Cisco's Global TAC. Files posted on
CCO under special access code by a Cisco TAC representative may be
obtained by customers at
"http://www.cisco.com/public/sw-center/spc_req.shtml".
5. Physical Delivery
If you would prefer to obtain software deliveries in hard media
(Floppies, ROMs, etc.), please contact your Cisco Partner or Cisco's
Global TAC. Alternately, registered CCO users may use the online
Upgrade Agent to submit orders directly to Cisco:
"http://www.cisco.com/upgrade/". Physical media deliveries may take
7-10 business days to ship. Depending on your contract status, there
may be a charge for physical deliveries.
-----BEGIN PGP SIGNATURE-----
Version: PGP for Personal Privacy 5.0
Charset: noconv
iQEVAwUBNDHY4AyPsuGbHvEpAQG7JggApkQ3XMXSAD1K65iYrevo1hEi8iZ6hAKv
g7QTJx+r2RofelrAY6+pBmwzWmvHTuLk0RJECCQr86yHRhzbRyt3XZ6krLH+86VV
K8VFL0SpMVX4AW0/pz9qp1Rk+0WfqOLUMX9JeCd6UQHfF54RckE2RMIF1SRtrA+i
7O3/6XUcJE12135wOY3CPkuj9aVV0fiRWi2+FVs8ZD7H4akx3WJ3UPB3jIInN3wA
LqrBIbb/HddKeKSERCpIsip0gBZSk68LtCI+715Uj0jOkuchhHFYw4d1Opql9//3
ZwEKJ4lPyW6njeRkdN0FQNo8EB+UeEuVDKecQw1FsfoSdv06SQXWrQ==
=nBjF
-----END PGP SIGNATURE-----