CERT-SEI

Vulnerabilities in Various Implementations of the RADIUS Protocol

Original release date: March 4, 2002
Last revised: April 16, 2002
Source: CERT/CC

A complete revision history can be found at the end of this file.

Systems Affected

Systems running any of the following RADIUS implementations:

  • Ascend RADIUS versions 1.16 and prior
  • Cistron RADIUS versions 1.6.5 and prior
  • FreeRADIUS versions 0.3 and prior
  • GnuRADIUS versions 0.95 and prior
  • ICRADIUS versions 0.18.1 and prior
  • Livingston RADIUS versions 2.1 and earlier
  • Novell Border Manager
  • Open System Consultants Radiator 2.6 and prior
  • RADIUS (previously known as Lucent RADIUS) versions 2.1 and prior
  • RADIUSClient versions 0.3.1 and prior
  • Secure Computing Corp. SafeWord version 5.2 and SafeWord PremierAccess v3.0
  • Vircom VOP Radius 3.2 and prior
  • XTRADIUS 1.1-pre1 and prior
  • YARD RADIUS 1.0.19 and prior

Overview

Remote Authentication Dial In User Service (RADIUS) servers are used for authentication, authorization and accounting for terminals that speak the RADIUS protocol. Multiple vulnerabilities have been discovered in several implementations of the RADIUS protocol.

I. Description

Two vulnerabilities in various implementations of RADIUS clients and servers have been reported to several vendors and the CERT/CC. They are remotely exploitable, and on most systems result in a denial of service. VU#589523 may allow the execution of code if the attacker has knowledge of the shared secret. Certain implementations vulnerable to VU#589523 may allow the execution of code if multiple packets are processed in the same thread, and the last 1 or 2 bytes of the shared secret is with in a certain range.

VU#589523 - Multiple implementations of the RADIUS protocol contain a digest calculation buffer overflow

Multiple implementations of the RADIUS protocol contain a buffer overflow in the function that calculates message digests.

During the message digest calculation, a string containing the shared secret is concatenated with a packet received without checking the size of the target buffer. This makes it possible to overflow the buffer with shared secret data. This can lead to a denial of service against the server.  If the shared secret is known by the attacker, then it may be possible to use this information to execute arbitrary code with the privileges of the victim RADIUS server or client, usually root. It should be noted that gaining knowledge of the shared secret is not a trivial task. 

Certain implementations of RADIUS vulnerable to VU#589523 may allow the execution of code if multiple packets are processed in the same thread, and the last 1 or 2 bytes of the shared secret is with in a certain range. In this case, specific knowledge of the shared secret is not required. 

Systems Affected by VU#589523

  • Ascend RADIUS versions 1.16 and prior
  • Cistron RADIUS versions 1.6.4 and prior
  • FreeRADIUS versions 0.3 and prior
  • GnuRADIUS versions 0.95 and prior
  • ICRADIUS versions 0.18.1 and prior
  • Livingston RADIUS versions 2.1 and earlier
  • Novell Border Manager
  • RADIUS (commonly known as Lucent RADIUS) versions 2.1 and prior
  • RADIUSClient versions 0.3.1 and prior
  • Secure Computing Corp. SafeWord version 5.2 and SafeWord PremierAccess v3.0
  • Vircom VOP Radius 3.2 and prior
  • XTRADIUS 1.1-pre1 and prior
  • YARD RADIUS 1.0.19 and prior

VU#936683 - Multiple implementations of the RADIUS protocol do not adequately validate the vendor-length of vendor-specific attributes.

Various RADIUS servers and clients permit the passing of vendor-specific and user-specific attributes. Several implementations of RADIUS fail to check the vendor-length of vendor-specific attributes. It is possible to cause a denial of service against RADIUS servers with a malformed vendor-specific attribute.

RADIUS servers and clients fail to validate the vendor-length inside vendor-specific attributes. The vendor-length shouldn't be less than 2. If vendor-length is less than 2, the RADIUS server (or client) calculates the attribute length as a negative number. The attribute length is then used in various functions. In most RADIUS servers the function that performs this calculation is rad_recv() or radrecv().  Some applications may use the same logic to validate user-specific attributes and be vulnerable via the same method.

Systems Affected by VU#936683

  • Cistron RADIUS versions 1.6.5 and prior
  • FreeRADIUS versions 0.3 and prior
  • ICRADIUS versions 0.18.1 and prior
  • Livingston RADIUS versions 2.1 and earlier
  • Novell Border Manager
  • Open System Consultants Radiator 2.6 and prior
  • Secure Computing Corp. SafeWord version 5.2 and SafeWord PremierAccess v3.0
  • XTRADIUS 1.1-pre1 and prior
  • YARD RADIUS 1.0.19 and prior

II. Impact

Both of the vulnerabilities allow an attacker can cause a denial of service of the RADIUS server or client. On some systems, VU#589523 may allow the execution of code, especially if the attacker has knowledge of the shared secret.

III. Solution

Apply a patch, or upgrade to the version specified by your vendor.

Block packets to the RADIUS server at the firewall

Limit access to the RADIUS server to those addresses which are approved to authenticate to the RADIUS server. Note that this does not protect your server from attacks originating from these addresses.

Appendix A. - Vendor Information

This appendix contains information provided by vendors for this advisory.  When vendors report new information to the CERT/CC, we update this section and note the changes in our revision history.  If a particular vendor is not listed below, we have not received their comments.

Apple

Mac OS X and Mac OS X Server -- Not vulnerable since RADIUS is not shipped with those products.

Alcatel

Following the recent CERT advisory on security vulnerabilities in various RADIUS implementations, Alcatel has conducted an immediate assessment to determine any impact this may have on our portfolio. A first analysis has shown that the following products are not affected: Omni Switch/Routers, 713x VPN Gateways, A5735 SMC, A5020 SoftSwitch and GGSN. The security of our customers' networks is of highest priority for Alcatel. Therefore we continue to test our product portfolio against potential RADIUS security vulnerabilities and will provide updates if necessary.

Athena Online

It is our pleasure to report that Athena Online's Radicate RADIUS server is not vulnerable to CERT RADIUS VU#936683 and VU#589523 in our internal testing.

Radicate has been written from the ground up following the RFCs, using no previously existing code. Security issues such as buffer overflows have been identified and taken care of at each and every state of development to prevent any denial of service or execution of foreign code.

Radicate runs on a variety of platforms, including (but not limited to)  Mac OS X, Mac OS X Server, Mac OS 9, Solaris, Linux and Win32.

Cisco

Cisco Systems has reviewed the following products that implement RADIUS with regards to this vulnerability, and has determined that the following are NOT vulnerable to this issue; Cisco IOS, Cisco Catalyst OS, Cisco Secure PIX firewall, Cisco Secure Access Control System for Windows, Cisco Aironet, Cisco Access Registrar, and Cisco Resource Pooling Management Service.  At this time, we are not aware of any Cisco products that are vulnerable to the issues discussed in this report.

Cistron

You state 2 vulnerabilities:

  1. Digest Calculation Buffer Overflow Vulnerability Cistron Radius up to and including 1.6.4 is vulnerable

  2. Invalid attribute length calculation on malformed Vendor-Specific attr. Cistron Radius up to and including 1.6.5 is vulnerable

Today I have released version 1.6.6, which also fixes (2). The homepage is http://www.radius.cistron.nl/ on which you can also find the ChangeLog. An announcement to the cistron-radius mailinglist was also made today.

So everybody should upgrade to 1.6.6.

Conectiva

See http://distro.conectiva.com.br/atualizacoes/?id=a&anuncio=000466

FreeBSD

FreeBSD versions prior to 4.5-RELEASE (which is shipping today or tomorrow or so) do contain some of the RADIUS packages mentioned below:  radiusd-cistron, freeradius, ascend-radius, icradius, and radiusclient. However, 4.5-RELEASE will not ship with any of these RADIUS packages, except radiusclient. Also, note that the information you [CERT/CC] have forwarded previously indicates that neither Merit RADIUS (radius-basic) nor radiusclient are vulnerable.

Fujitsu

Fujitsu's UXP/V operating system is not vulnerable because UXP/V does not support the Radius functionality.

Funk Software

See http://www.funk.com/News&Events/CERT_resp.asp

GnuRADIUS

The bug was fixed in version 0.96.

Hewlett-Packard

We have tested our Version of RADIUS, and we are NOT vulnerable.

IBM

IBM's AIX operating system, all versions, is not vulnerable as we do not ship the RADIUS project with AIX.

Interlink Networks

Interlink Networks has inspected and tested all released versions of its RADIUS server for susceptibility to the issues described in VU#936683 and VU#589523. NONE of Interlink Networks products are susceptible to the vulnerabilities outlined in the advisory.

Interlink Networks also inspected and tested Merit RADIUS server version 3.6B2 and found that it is NOT vulnerable to the reported issues.

Juniper Networks

Juniper products have been tested and are not affected by this vulnerability.

Lucent Technologies, Inc.

  Lucent and Ascend "Free" RADIUS server Product Status

  Prior to the Lucent Technologies acquisition of Ascend Communications   and Livingston Enterprises, both companies distributed RADIUS servers   at no cost to their customers. The initial Livingston server was   RADIUS 1.16 followed in June 1999 by RADIUS 2.1.  The Ascend server was   based on the Livingston 1.16 product with the most recent version   being released in June 1998.  Lucent Technologies no longer   distributes these products, and does not provide any support services for   these products.

  Both of these products were distributed as-is without warranty, under the   BSD "Open Source" license.  Under  this  license, other parties are free   to develop and release other products and versions. However, as noted in   the license terms, Lucent Technologies can not and does not assume any   responsibility for any releases, present or future, based on these   products.

  Product Patches

  Patches designed to specifically address the problems outlined in the   CERT   bulletins VU#936683 VU#589523 have been made available to the public by   Simon Horman .  For more information visit   ftp://ftp.vergenet.net/pub/radius

  Replacement Product

The Lucent Technologies replacement product is NavisRadius 4.x.   NavisRadius is a fully supported commercial product.  Visit the   product web site at http://www.lucentradius.com for more information.  

  Richard Perlman
  NavisRadius Product Management
  Network Operations Software
  perl@lucent.com

Microsoft

We've completed our investigation into this issue based on the information provided and have determined that no version of Microsoft IAS is susceptible to either vulnerability.

NetBSD

Some of the affected radius daemons are available from NetBSD pkgsrc. It is highly advisable that you update to the latest versions available from pkgsrc. Also note that pkgsrc/security/audit-packages can be used to notify you when new pkgsrc related security issues are announced.

Novell

Novell's RADIUS server (Border Manager) is only vulnerable to administrator-installed shared secrets and VSAs. We are assessing this vulnerability in more detail.

Open System Consultants

The current version of Radiator (2.19) is not vulnerable to either of the vulnerabilites reported. No version has ever been vulnerable to VU#589523, and it has not been vulnerable to VU#936683 since version 2.6 (released on 5/4/1998)

More information in our press release at

http://www.open.com.au/press.html

Process Software

MultiNet and TCPware do not provide a RADIUS implementation.

RADIUS (previously known as Lucent RADIUS)

I wish to advise that Lucent Radius 2.1 is vulnerable to VU#589523, but is not vulnerable to VU#936683.

I have made an unofficial patch to this code to resolve this problem. It will be released in ftp://ftp.vergenet.net/pub/radius/ where previous patches to Radius by myself are available.

RADIUSClient

I've just uploaded version 0.3.2 of the radiusclient library to ftp://ftp.cityline.net/pub/radiusclient/radiusclient-0.3.2.tar.gz which contains a fix for the reported buffer overflow.

Red Hat

    We do not ship any radius software as part of any of our main     operating system.  However, Cistron RADIUS was part of our     PowerTools add-on software CD from versions 5.2 through 7.1.  Thus     while not installed by default, some users of Red Hat Linux may be     using Cistron RADIUSD.  Errata packages that fix this problem and our     advisory will be available shortly on our web site at the URL     below. At the same time users of the Red Hat Network will be able to     update their systems to patched versions using the up2date tool.

http://www.redhat.com/support/errata/RHSA-2002-030.html

Riverstone Networks

Riverstone Networks products have been tested and are not affected by the vulnerabilities listed in VU#589523.

SCO

The Caldera NON-Linux operating systems: OpenServer, UnixWare, and Open UNIX, do not ship Radius servers or clients.

Secure Computing Corporation

Secure Computing has provided updated RADIUS daemons for the following SafeWord systems running on Solaris:  SafeWord v5.2, and SafeWord  PremierAccess v3.0.  The new updated daemon addresses the following vulnerabilities as was reported in the CERT Advisory CA-2002-06:

VU#589523

Previously, the radiusd daemon contained a buffer overflow in the function that calculates message digest, and the daemon would crash when a secret key of more than 108 characters was entered in the clients file. The new version will now display the following radius debug message when such a key exists:

"ERROR! Calc_digest: Bad secret key in clients file. Length is too long."
The daemon will remain running.

VU#936683

Previously, the radiusd daemon would crash when malformed RADIUS packets that included Vendor Specific Attributes of lengths of less than 2 bytes. This version will now display the following radius debug message in this situation:

"Invalid attribute. Invalid length for attribute 26."

The daemon will remain running.

To obtain the new updated RADIUS daemon, please contact Secure Computing Technical support at 1-800-700-8328

SGI

SGI does not ship with a RADIUS server or client, so we are not vulnerable to these issues.

Vircom Inc.

See http://www.vircom.com/solutions/vopradius/certadvisoryca200206.htm

Wind River Systems

    The current RADIUS client product from Wind River Systems, WindNet     RADIUS 1.1, is not susceptible to VU#936683 and VU#589523 in our     internal testing.

VU#936683 - WindNet RADIUS will pass the packet up to the application.     The application may need to be aware of the invalid attribute length.

    VU#589523 - WindNet RADIUS will drop the packet overflow.

Please contact Wind River support at support@windriver.com or call     (800) 458-7767 with any test reports related to VU#936683 and     VU#589523.

XTRADIUS

We are trying to relase a new and fixed version of xtradius by the end of the month (version 1.2.1).. Right now the new version is on the CVS and we are testing it...

YARD RADIUS

Current version 1.0.19 of Yardradius (which is derived from Lucent 2.1)  seems suffering both the problems. I think I will release a new version (1.0.20) which solves those buffer overflows before your suggested date [3/4/2002].


Our thanks to 3APA3A <3APA3A@security.nnov.ru> and Joshua Hill and for their cooperation, reporting and analysis of this vulnerability.


Feedback about this Advisory can be sent to the author, Jason A. Rafail.


Appendix B. - References

  1. http://www.kb.cert.org/vuls/id/589523
  2. http://www.kb.cert.org/vuls/id/936683
  3. http://www.security.nnov.ru/advisories/radius.asp
  4. http://www.untruth.org/~josh/security/radius
  5. http://www.securityfocus.com/bid/3530
       

Copyright 2002 Carnegie Mellon University.

Revision History

March 04, 2002:  Initial release
March 05, 2002:  Updated Lucent Statement
March 12, 2002:  Added Athena Online's Statement
March 12, 2002:  Updated the description for VU#589523
March 12, 2002:  Added Open System Consultants Statement
March 13, 2002:  Added Riverstone Networks Statement
March 18, 2002:  Added Interlink Networks Statement
March 28, 2002:  Updated the impact on RADIUS clients
March 28, 2002:  Added Funk Software Statement
April 02, 2002:  Added Alcatel Statement
April 02, 2002:  Added Vircom Statement
April 12, 2002:  Added Novell Statement
April 16, 2002:  Added Secure Computing Corporation Statement