SecurityTracker.com
Keep Track of the Latest Vulnerabilities
with SecurityTracker!
    Home    |    View Topics    |    Search    |    Contact Us    |   

SecurityTracker
Archives


 
Sign Up
Sign Up for Your FREE Weekly SecurityTracker E-mail Alert Summary
Instant Alerts
Buy our Premium Vulnerability Notification Service to receive customized, instant alerts
Affiliates
Put SecurityTracker Vulnerability Alerts on Your Web Site -- It's Free!
Partners
Become a Partner and License Our Database or Notification Service
Report a Bug
Report a vulnerability that you have found to SecurityTracker
bugs
@
securitytracker.com






Category:   Application (Security)  >   FreeRADIUS Vendors:   FreeRADIUS Server Project
FreeRADIUS Client Certificate Stack Overflow Lets Remote Users Execute Arbitrary Code
SecurityTracker Alert ID:  1027509
SecurityTracker URL:  http://securitytracker.com/id/1027509
CVE Reference:   CVE-2012-3547   (Links to External Site)
Date:  Sep 10 2012
Impact:   Execution of arbitrary code via network, User access via network
Fix Available:  Yes  Vendor Confirmed:  Yes  
Version(s): 2.1.10 - 2.1.12
Description:   A vulnerability was reported in FreeRADIUS. A remote user can execute arbitrary code on the target system.

A remote user can send a specially crafted client certificate to trigger a stack overflow in cbtls_verify() and execute arbitrary code on the target system. The code will run with the privileges of the target service.

Systems using TLS-based EAP methods (including EAP-TLS, EAP-TTLS, and PEAP) are affected.

The vendor was notified on August 29, 2012.

Timo Warns of PRESENSE Technologies reported this vulnerability.

Impact:   A remote user can execute arbitrary code on the target system.
Solution:   The vendor has issued a fix (2.2.0).
Vendor URL:  freeradius.org/ (Links to External Site)
Cause:   Boundary error
Underlying OS:   Linux (Any), UNIX (Any)

Message History:   This archive entry has one or more follow-up message(s) listed below.
Oct 2 2012 (Red Hat Issues Fix) FreeRADIUS Client Certificate Stack Overflow Lets Remote Users Execute Arbitrary Code   (bugzilla@redhat.com)
Red Hat has issued a fix for Red Hat Enterprise Linux 6.
Oct 2 2012 (Red Hat Issues Fix) FreeRADIUS Client Certificate Stack Overflow Lets Remote Users Execute Arbitrary Code   (bugzilla@redhat.com)
Red Hat has issued a fix for Red Hat Enterprise Linux 5.
Oct 23 2013 (Apple Issues Fix for OS X Server) FreeRADIUS Client Certificate Stack Overflow Lets Remote Users Execute Arbitrary Code
Apple has issued a fix for OS X Server.



 Source Message Contents

Date:  Mon, 10 Sep 2012 15:43:04 +0200
Subject:  [oss-security] [PRE-SA-2012-06] FreeRADIUS: Stack Overflow in TLS-based EAP Methods

The issue described below has been reported to the distros list with a timeline
as follows:

2012-08-29
    - notification of security@freeradius.org
    - confirmation by Alan DeKok (FreeRADIUS project leader)
      with agreement on embargo period until 2012-09-10
    - notification of distros@vs.openwall.org

2012-09-10
    - release of FreeRADIUS 2.2.0
    - public disclosure



PRE-CERT Security Advisory
==========================

* Advisory: PRE-SA-2012-06
* Released on: 10 September 2012
* Affected product: FreeRADIUS 2.1.10 - 2.1.12
* Impact: remote code execution
* Origin: specially crafted client certificates
* CVSS Base Score: 10
    Impact Subscore: 10
    Exploitability Subscore: 10
  CVSS Vector: (AV:N/AC:L/Au:N/C:C/I:C/A:C)
* Credit: Timo Warns (PRESENSE Technologies GmbH)
* CVE Identifier: CVE-2012-3547


Summary
-------

A stack overflow vulnerability has been identified in FreeRADIUS that allows to
remotely execute arbitrary code via specially crafted client certificates
(before authentication). The vulnerability affects setups using TLS-based EAP
methods (including EAP-TLS, EAP-TTLS, and PEAP).

FreeRADIUS defines a callback function cbtls_verify() for certificate
verification. The function has a local buf array with a size of 64
bytes. It copies the validity timestamp "not after" of a client
certificate to the buf array:

    asn_time = X509_get_notAfter(client_cert);
    if ((lookup <= 1) && asn_time && (asn_time->length < MAX_STRING_LEN)) {
        memcpy(buf, (char*) asn_time->data, asn_time->length);
        buf[asn_time->length] = '\0';

The MAX_STRING_LEN constant is defined to be 254. If asn_time->length is
greater than 64 bytes, but less than 254 bytes, buf overflows via the memcpy.

Depending on the stack layout chosen by the compiler, the vulnerability allows
to overflow the return address on the stack, which can be exploited for code
execution.


Solution
--------

The issue has been fixed in FreeRADIUS 2.2.0. Updates should be installed as
soon as possible.


References
----------

When further information becomes available, this advisory will be
updated. The most recent version of this advisory is available at:

http://www.pre-cert.de/advisories/PRE-SA-2012-06.txt


Contact
--------

PRE-CERT can be reached under precert@pre-secure.de. For PGP key
information, refer to http://www.pre-cert.de/.
 
 


Go to the Top of This SecurityTracker Archive Page





Home   |    View Topics   |    Search   |    Contact Us

Copyright 2014, SecurityGlobal.net LLC