Executive Summary

Summary
Title Sun Alert 259148 Security Vulnerability in the Solaris Simple Authentication and Security Layer (SASL) Library (see libsasl(3LIB)) Routine sasl_encode64(3SASL) may Allow Unprivileged Users to Crash Applications Using this Function
Informations
Name SUN-259148 First vendor Publication 2009-05-14
Vendor Sun Last vendor Modification 2009-07-29
Severity (Vendor) N/A Revision N/A

Security-Database Scoring CVSS v3

Cvss vector : N/A
Overall CVSS Score NA
Base Score NA Environmental Score NA
impact SubScore NA Temporal Score NA
Exploitabality Sub Score NA
 
Calculate full CVSS 3.0 Vectors scores

Security-Database Scoring CVSS v2

Cvss vector : (AV:N/AC:L/Au:N/C:P/I:P/A:P)
Cvss Base Score 7.5 Attack Range Network
Cvss Impact Score 6.4 Attack Complexity Low
Cvss Expoit Score 10 Authentication None Required
Calculate full CVSS 2.0 Vectors scores

Detail

Product: Solaris 10 Operating System OpenSolaris

A buffer overflow security vulnerability in the Solaris Simple Authentication and Security Layer (SASL) library (see libsasl(3LIB)) routine sasl_encode64(3SASL) may allow local or remote unprivileged users to crash applications which use this function.

Solaris LDAP client (ldap(1)), sendmail(1M) and Solaris iSCSI implementation are examples of applications which use the vulnerable library.

This vulnerability is also described in the following documents:

CERT Vulnerability Note VU#238019 at:

CVE CVE-2009-0688 at:

State: Resolved
First released: 14-May-2009

Original Source

Url : http://blogs.sun.com/security/entry/sun_alert_259148_security_vulnerability

CWE : Common Weakness Enumeration

% Id Name
100 % CWE-119 Failure to Constrain Operations within the Bounds of a Memory Buffer

OVAL Definitions

Definition Id: oval:org.mitre.oval:def:10687
 
Oval ID: oval:org.mitre.oval:def:10687
Title: Multiple buffer overflows in the CMU Cyrus SASL library before 2.1.23 might allow remote attackers to execute arbitrary code or cause a denial of service (application crash) via strings that are used as input to the sasl_encode64 function in lib/saslutil.c.
Description: Multiple buffer overflows in the CMU Cyrus SASL library before 2.1.23 might allow remote attackers to execute arbitrary code or cause a denial of service (application crash) via strings that are used as input to the sasl_encode64 function in lib/saslutil.c.
Family: unix Class: vulnerability
Reference(s): CVE-2009-0688
Version: 5
Platform(s): Red Hat Enterprise Linux 4
CentOS Linux 4
Oracle Linux 4
Red Hat Enterprise Linux 5
CentOS Linux 5
Oracle Linux 5
Product(s):
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:13676
 
Oval ID: oval:org.mitre.oval:def:13676
Title: DSA-1807-1 cyrus-sasl2, cyrus-sasl2-heimdal -- buffer overflow
Description: James Ralston discovered that the sasl_encode64 function of cyrus-sasl2, a free library implementing the Simple Authentication and Security Layer, suffers from a missing null termination in certain situations. This causes several buffer overflows in situations where cyrus-sasl2 itself requires the string to be null terminated which can lead to denial of service or arbitrary code execution. Important notice : While this patch will fix currently vulnerable code, it can cause non-vulnerable existing code to break. Here’s a function prototype from include/saslutil.h to clarify my explanation: /* base64 encode * in -- input data * inlen -- input data length * out -- output buffer * outmax -- max size of output buffer * result: * outlen -- gets actual length of output buffer * * Returns SASL_OK on success, SASL_BUFOVER if result won't fit */ LIBSASL_API int sasl_encode64; Assume a scenario where calling code has been written in such a way that it calculates the exact size required for base64 encoding in advance, then allocates a buffer of that exact size, passing a pointer to the buffer into sasl_encode64 as *out. As long as this code does not anticipate that the buffer is NUL-terminated the code will work and it will not be vulnerable. Once this patch is applied, that same code will break because sasl_encode64 will begin to return SASL_BUFOVER. For the oldstable distribution, this problem will be fixed soon. For the stable distribution, this problem has been fixed in version 2.1.22.dfsg1-23+lenny1 of cyrus-sasl2 and cyrus-sasl2-heimdal. For the testing distribution, this problem will be fixed soon. For the unstable distribution, this problem has been fixed in version 2.1.23.dfsg1-1 of cyrus-sasl2 and cyrus-sasl2-heimdal. We recommend that you upgrade your cyrus-sasl2/cyrus-sasl2-heimdal packages.
Family: unix Class: patch
Reference(s): DSA-1807-1
CVE-2009-0688
Version: 5
Platform(s): Debian GNU/Linux 5.0
Product(s): cyrus-sasl2
cyrus-sasl2-heimdal
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:13846
 
Oval ID: oval:org.mitre.oval:def:13846
Title: USN-790-1 -- cyrus-sasl2 vulnerability
Description: James Ralston discovered that the Cyrus SASL base64 encoding function could be used unsafely. If a remote attacker sent a specially crafted request to a service that used SASL, it could lead to a loss of privacy, or crash the application, resulting in a denial of service.
Family: unix Class: patch
Reference(s): USN-790-1
CVE-2009-0688
Version: 5
Platform(s): Ubuntu 8.04
Ubuntu 9.04
Ubuntu 6.06
Ubuntu 8.10
Product(s): cyrus-sasl2
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:22796
 
Oval ID: oval:org.mitre.oval:def:22796
Title: ELSA-2009:1116: cyrus-imapd security update (Important)
Description: Multiple buffer overflows in the CMU Cyrus SASL library before 2.1.23 might allow remote attackers to execute arbitrary code or cause a denial of service (application crash) via strings that are used as input to the sasl_encode64 function in lib/saslutil.c.
Family: unix Class: patch
Reference(s): ELSA-2009:1116-01
CVE-2009-0688
Version: 6
Platform(s): Oracle Linux 5
Product(s): cyrus-imapd
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:29022
 
Oval ID: oval:org.mitre.oval:def:29022
Title: RHSA-2009:1116 -- cyrus-imapd security update (Important)
Description: Updated cyrus-imapd packages that fix a security issue are now available for Red Hat Enterprise Linux 4 and 5. This update has been rated as having important security impact by the Red Hat Security Response Team. The cyrus-imapd packages contain a high-performance mail server with IMAP, POP3, NNTP, and SIEVE support.
Family: unix Class: patch
Reference(s): RHSA-2009:1116
CESA-2009:1116-CentOS 5
CVE-2009-0688
Version: 3
Platform(s): Red Hat Enterprise Linux 5
Red Hat Enterprise Linux 4
CentOS Linux 5
Product(s): cyrus-imapd
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:6136
 
Oval ID: oval:org.mitre.oval:def:6136
Title: Security Vulnerability in the Simple Authentication and Security Layer (SASL) Library Bundled with the Java Enterprise System (JES) may Allow Unprivileged Users to Crash Applications Using the sasl_encode64 Function
Description: Multiple buffer overflows in the CMU Cyrus SASL library before 2.1.23 might allow remote attackers to execute arbitrary code or cause a denial of service (application crash) via strings that are used as input to the sasl_encode64 function in lib/saslutil.c.
Family: unix Class: vulnerability
Reference(s): CVE-2009-0688
Version: 1
Platform(s): Sun Solaris 8
Sun Solaris 9
Sun Solaris 10
Product(s):
Definition Synopsis:
Definition Id: oval:org.mitre.oval:def:8333
 
Oval ID: oval:org.mitre.oval:def:8333
Title: DSA-1807 cyrus-sasl2, cyrus-sasl2-heimdal -- buffer overflow
Description: James Ralston discovered that the sasl_encode64() function of cyrus-sasl2, a free library implementing the Simple Authentication and Security Layer, suffers from a missing null termination in certain situations. This causes several buffer overflows in situations where cyrus-sasl2 itself requires the string to be null terminated which can lead to denial of service or arbitrary code execution. Important notice (Quoting from US-CERT): While this patch will fix currently vulnerable code, it can cause non-vulnerable existing code to break. Here's a function prototype from include/saslutil.h to clarify my explanation: Assume a scenario where calling code has been written in such a way that it calculates the exact size required for base64 encoding in advance, then allocates a buffer of that exact size, passing a pointer to the buffer into sasl_encode64() as *out. As long as this code does not anticipate that the buffer is NUL-terminated (does not call any string-handling functions like strlen(), for example) the code will work and it will not be vulnerable. Once this patch is applied, that same code will break because sasl_encode64() will begin to return SASL_BUFOVER.
Family: unix Class: patch
Reference(s): DSA-1807
CVE-2009-0688
Version: 3
Platform(s): Debian GNU/Linux 5.0
Product(s): cyrus-sasl2
cyrus-sasl2-heimdal
Definition Synopsis:

CPE : Common Platform Enumeration

TypeDescriptionCount
Application 46

OpenVAS Exploits

Date Description
2011-08-09 Name : CentOS Update for cyrus-imapd CESA-2009:1116 centos5 i386
File : nvt/gb_CESA-2009_1116_cyrus-imapd_centos5_i386.nasl
2010-05-12 Name : Mac OS X 10.6.3 Update / Mac OS X Security Update 2010-002
File : nvt/macosx_upd_10_6_3_secupd_2010-002.nasl
2009-12-10 Name : Mandriva Security Advisory MDVSA-2009:113-1 (cyrus-sasl)
File : nvt/mdksa_2009_113_1.nasl
2009-10-13 Name : Solaris Update for libsasl.so.1 141930-01
File : nvt/gb_solaris_141930_01.nasl
2009-10-13 Name : Solaris Update for libsasl.so.1 141931-01
File : nvt/gb_solaris_141931_01.nasl
2009-10-13 Name : SLES10: Security update for cyrus-sasl
File : nvt/sles10_cyrus-sasl.nasl
2009-10-11 Name : SLES11: Security update for cyrus-sasl
File : nvt/sles11_cyrus-sasl.nasl
2009-10-10 Name : SLES9: Security update for cyrus-sasl
File : nvt/sles9p5050660.nasl
2009-07-29 Name : Gentoo Security Advisory GLSA 200907-09 (cyrus-sasl)
File : nvt/glsa_200907_09.nasl
2009-06-30 Name : Ubuntu USN-790-1 (cyrus-sasl2)
File : nvt/ubuntu_790_1.nasl
2009-06-30 Name : Ubuntu USN-789-1 (gst-plugins-good0.10)
File : nvt/ubuntu_789_1.nasl
2009-06-23 Name : CentOS Security Advisory CESA-2009:1116 (cyrus-imapd)
File : nvt/ovcesa2009_1116.nasl
2009-06-23 Name : RedHat Security Advisory RHSA-2009:1116
File : nvt/RHSA_2009_1116.nasl
2009-06-15 Name : SuSE Security Summary SUSE-SR:2009:011
File : nvt/suse_sr_2009_011.nasl
2009-06-05 Name : Mandrake Security Advisory MDVSA-2009:113 (cyrus-sasl)
File : nvt/mdksa_2009_113.nasl
2009-06-05 Name : Ubuntu USN-776-2 (kvm)
File : nvt/ubuntu_776_2.nasl
2009-06-05 Name : Debian Security Advisory DSA 1807-1 (cyrus-sasl2, cyrus-sasl2-heimdal)
File : nvt/deb_1807_1.nasl
2009-05-28 Name : Cyrus SASL Remote Buffer Overflow Vulnerability
File : nvt/secpod_cyrus_sasllib_mul_bof_vuln.nasl
2009-05-20 Name : FreeBSD Ports: cyrus-sasl
File : nvt/freebsd_cyrus-sasl2.nasl
0000-00-00 Name : Slackware Advisory SSA:2009-134-01 cyrus-sasl
File : nvt/esoft_slk_ssa_2009_134_01.nasl

Open Source Vulnerability Database (OSVDB)

Id Description
54515 Solaris libsasl(3LIB) sasl_encode64() Function Overflow

54514 Cyrus SASL lib/saslutil.c sasl_encode64() Function Overflow

Nessus® Vulnerability Scanner

Date Description
2013-07-12 Name : The remote Oracle Linux host is missing one or more security updates.
File : oraclelinux_ELSA-2009-1116.nasl - Type : ACT_GATHER_INFO
2012-08-01 Name : The remote Scientific Linux host is missing one or more security updates.
File : sl_20090618_cyrus_imapd_on_SL4_x.nasl - Type : ACT_GATHER_INFO
2010-03-29 Name : The remote host is missing a Mac OS X update that fixes various security issues.
File : macosx_SecUpd2010-002.nasl - Type : ACT_GATHER_INFO
2010-01-06 Name : The remote CentOS host is missing one or more security updates.
File : centos_RHSA-2009-1116.nasl - Type : ACT_GATHER_INFO
2009-09-24 Name : The remote SuSE 10 host is missing a security-related patch.
File : suse_cyrus-sasl-6250.nasl - Type : ACT_GATHER_INFO
2009-09-24 Name : The remote SuSE 11 host is missing one or more security updates.
File : suse_11_cyrus-sasl-090514.nasl - Type : ACT_GATHER_INFO
2009-09-24 Name : The remote SuSE 9 host is missing a security-related patch.
File : suse9_12419.nasl - Type : ACT_GATHER_INFO
2009-07-21 Name : The remote openSUSE host is missing a security update.
File : suse_11_1_cyrus-sasl-090514.nasl - Type : ACT_GATHER_INFO
2009-07-21 Name : The remote openSUSE host is missing a security update.
File : suse_11_0_cyrus-sasl-090514.nasl - Type : ACT_GATHER_INFO
2009-07-13 Name : The remote Gentoo host is missing one or more security-related patches.
File : gentoo_GLSA-200907-09.nasl - Type : ACT_GATHER_INFO
2009-06-25 Name : The remote Ubuntu host is missing one or more security-related patches.
File : ubuntu_USN-790-1.nasl - Type : ACT_GATHER_INFO
2009-06-19 Name : The remote Red Hat host is missing one or more security updates.
File : redhat-RHSA-2009-1116.nasl - Type : ACT_GATHER_INFO
2009-06-02 Name : The remote Debian host is missing a security-related update.
File : debian_DSA-1807.nasl - Type : ACT_GATHER_INFO
2009-05-28 Name : The remote openSUSE host is missing a security update.
File : suse_cyrus-sasl-6249.nasl - Type : ACT_GATHER_INFO
2009-05-19 Name : The remote Mandriva Linux host is missing one or more security updates.
File : mandriva_MDVSA-2009-113.nasl - Type : ACT_GATHER_INFO
2009-05-15 Name : The remote FreeBSD host is missing a security-related update.
File : freebsd_pkg_14ab174c40ef11de9fd5001bd3385381.nasl - Type : ACT_GATHER_INFO
2009-05-15 Name : The remote Slackware host is missing a security update.
File : Slackware_SSA_2009-134-01.nasl - Type : ACT_GATHER_INFO