Date: 3 Nov 2004 18:20:13 +0200
From: SecuriTeam <support@securiteam.com.>
To: [email protected]Subject: [NEWS] Cisco Secure Access Control Server EAP-TLS Authentication Vulnerability
The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion
The SecuriTeam alerts list - Free, Accurate, Independent.
Get your security news from a reliable source.
http://www.securiteam.com/mailinglist.html
- - - - - - - - -
Cisco Secure Access Control Server EAP-TLS Authentication Vulnerability
------------------------------------------------------------------------
SUMMARY
Cisco Secure Access Control Server provides centralized authentication,
authorization, and accounting (AAA) services to network devices that
function as AAA clients, such as a network access servers, PIX firewalls,
routers and switches. With Cisco Secure ACS, network administrators can
quickly administer accounts and globally change levels of service
offerings for entire groups of users.
A Cisco Secure Access Control Server (ACS) that is configured to use
Extensible Authentication Protocol-Transport Layer Security (EAP-TLS) to
authenticate users to the network will allow access to any user that uses
a cryptographically correct certificate as long as the user name is valid.
Cryptographically correct means that the certificate is in the appropriate
format and contains valid fields. The certificate can be expired, or come
from an untrusted Certificate Authority (CA) and still be
cryptographically correct.
DETAILS
Vulnerable Systems:
* Cisco Secure ACS for Windows and Cisco Secure ACS Solution Engine
version 3.3.1
Immune Systems:
* Cisco Secure ACS for UNIX and Cisco Secure ACS Solution Engine versions
prior to 3.3.1 and 3.3.2 and above
EAP is a general protocol for authentication that supports multiple
authentication methods, such as token cards, Kerberos, one-time passwords,
certificates, public key authentication and smart cards. TLS is a protocol
that provides privacy and data integrity between client/ server
applications communicating over an insecure network such
as the Internet.
EAP and TLS are both IETF RFC standards. The EAP protocol carries initial
authentication information, specifically EAPOL (the encapsulation of EAP
over LANs as established by IEEE 802.1X). TLS uses certificates both for
user authentication and for dynamic ephemeral session key generation. The
EAP-TLS authentication protocol uses the
certificates of Cisco Secure ACS and of the end-user client, enforcing
mutual authentication of the client and of Cisco Secure ACS. More detailed
information on EAP, TLS, and EAP-TLS can be found in the following IETF
RFCs: RFC 2284 (PPP Extensible Authentication Protocol), RFC 2246 (The TLS
Protocol), and RFC 2716 (PPP EAP TLS Authentication Protocol).
The vulnerability described in this document affects user authentication
in the following way: when the EAP-TLS protocol is enabled in version
3.3.1 of Cisco Secure ACS for Windows or Cisco Secure ACS Solution Engine,
and network devices and services are configured to authenticate users via
the ACS, access will be granted to any user that uses a certificate that
is cryptographically correct as long as the user name is valid and
regardless of whether the certificate is from a trusted Certificate
Authority or whether the certificate has expired. Cryptographically
correct means that the certificate is in the appropriate format and
contains valid fields.
If EAP-TLS is configured (through the ACS global authentication page) to
perform binary comparison of user certificates as the only user
certificate comparison method, user authentication is not affected by this
vulnerability, as long as the user entry in LDAP/AD contains only valid
certificates. The reason user authentication is not affected
under this scenario is that when using the binary comparison method, the
certificate that is sent by the user's machine during the EAP-TLS
conversation is also compared to the user certificate that is stored in
the user entry in the LDAP/AD.
Note: This vulnerability has no effect, that is, user authentication is
not impacted, if EAP-TLS is configured in the Cisco Secure ACS with binary
comparison of user certificates as the only comparison method and if the
user entry in Lightweight Directory Access Protocol/Active Directory
(LDAP/AD) contains only valid certificates.
Impact
Successful exploitation of this vulnerability could allow unauthorized
access to the entire network, provided that the Cisco Secure ACS is being
used to control network access.
Workaround
If the user account resides in an LDAP/AD server and the user certificate
is stored in the user object in LDAP/AD, binary comparison of user
certificates can be configured in the ACS Global Authentication page as
the only allowed comparison method. This will work around the
vulnerability described in this document provided that only valid
certificates are stored in the user entry in LDAP/AD.
Please note that for this workaround to work, no other certificate
comparison methods can be enabled, that is, SAN and CN certificate
comparison must be disabled in the Global Authentication page.
Vendor Status:
The vulnerability described in this advisory is fixed in version 3.3.2 of
the Cisco Secure ACS for Windows software and of the Cisco Secure ACS
Solution Engine. If you are currently running the identified vulnerable
software and are using EAP-TLS, you should obtain fixed software, as
detailed below.
If you are running Cisco Secure ACS for Windows you can either upgrade to
version 3.3.2 or just replace the current CSCRL.dll Windows Dynamic Link
Library (DLL) in the Windows System32 folder with a fixed DLL and restart
Cisco Secure ACS for Windows. Replacing the DLL fixes the problem and does
not require a full upgrade.
The DLL fix can be downloaded from
<http://www.cisco.com/pcgi-bin/tablebuild.pl/cs-acs-win>
http://www.cisco.com/pcgi-bin/tablebuild.pl/cs-acs-win. The file name is
CSCef62913-fix-ACSWIN-v3.3.1.16.zip. The accompanying Readme file
(available from the same location) contains detailed installation
instructions.
If you are using the Cisco Secure ACS Solution Engine you can also upgrade
to version 3.3.2 or run an upgrade package to replace the affected DLL (an
upgrade package is needed because there is no access to the System32
directory when using the ACS Solution Engine.)
The upgrade package for the DLL fix can be downloaded from
<http://www.cisco.com/pcgi-bin/tablebuild.pl/acs-soleng-3des>
http://www.cisco.com/pcgi-bin/tablebuild.pl/acs-soleng-3des. The file name
is CSCef62913-fix-ACSSE-v3.3.1.16.zip. The accompanying Readme file
(available from the same location) contains detailed installation
instructions.
Either upgrade method, a full upgrade to version 3.3.2, or just an upgrade
of the affected DLL, is provided free of charge.
ADDITIONAL INFORMATION
The information has been provided by <psirt@cisco.com.> Cisco Systems
Product Security Incident Response Team.
The original article can be found at:
<http://www.cisco.com/warp/public/707/cisco-sa-20041102-acs-eap-tls.shtml>
Cisco Bug ID CSCef62913
This bulletin is sent to members of the SecuriTeam mailing list.
To unsubscribe from the list, send mail with an empty subject line and body to: [email protected]
In order to subscribe to the mailing list, simply forward this email to: [email protected]
DISCLAIMER:
The information in this bulletin is provided "AS IS" without warranty of any kind.
In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.