Debian Security Advisory DSA 3565-1 (botan1.10 - security update)

2016-05-02T00:00:00
ID OPENVAS:1361412562310703565
Type openvas
Reporter Copyright (c) 2016 Greenbone Networks GmbH http://greenbone.net
Modified 2019-03-18T00:00:00

Description

Several security vulnerabilities were found in botan1.10, a C++ library which provides support for many common cryptographic operations, including encryption, authentication, X.509v3 certificates and CRLs.

CVE-2015-5726 The BER decoder would crash due to reading from offset 0 of an empty vector if it encountered a BIT STRING which did not contain any data at all. This can be used to easily crash applications reading untrusted ASN.1 data, but does not seem exploitable for code execution.

CVE-2015-5727 The BER decoder would allocate a fairly arbitrary amount of memory in a length field, even if there was no chance the read request would succeed. This might cause the process to run out of memory or invoke the OOM killer.

CVE-2015-7827 Use constant time PKCS #1 unpadding to avoid possible side channel attack against RSA decryption

CVE-2016-2194 Infinite loop in modular square root algorithm. The ressol function implementing the Tonelli-Shanks algorithm for finding square roots could be sent into a nearly infinite loop due to a misplaced conditional check. This could occur if a composite modulus is provided, as this algorithm is only defined for primes. This function is exposed to attacker controlled input via the OS2ECP function during ECC point decompression.

CVE-2016-2195 Fix Heap overflow on invalid ECC point.

CVE-2016-2849 Use constant time modular inverse algorithm to avoid possible side channel attack against ECDSA.

                                        
                                            # OpenVAS Vulnerability Test
# $Id: deb_3565.nasl 14275 2019-03-18 14:39:45Z cfischer $
# Auto-generated from advisory DSA 3565-1 using nvtgen 1.0
# Script version: 1.0
#
# Author:
# Greenbone Networks
#
# Copyright:
# Copyright (c) 2016 Greenbone Networks GmbH http://greenbone.net
# Text descriptions are largely excerpted from the referenced
# advisory, and are Copyright (c) the respective author(s)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#

if(description)
{
  script_oid("1.3.6.1.4.1.25623.1.0.703565");
  script_version("$Revision: 14275 $");
  script_cve_id("CVE-2015-5726", "CVE-2015-5727", "CVE-2015-7827", "CVE-2016-2194",
                  "CVE-2016-2195", "CVE-2016-2849");
  script_name("Debian Security Advisory DSA 3565-1 (botan1.10 - security update)");
  script_tag(name:"last_modification", value:"$Date: 2019-03-18 15:39:45 +0100 (Mon, 18 Mar 2019) $");
  script_tag(name:"creation_date", value:"2016-05-02 00:00:00 +0200 (Mon, 02 May 2016)");
  script_tag(name:"cvss_base", value:"10.0");
  script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_tag(name:"solution_type", value:"VendorFix");
  script_tag(name:"qod_type", value:"package");

  script_xref(name:"URL", value:"http://www.debian.org/security/2016/dsa-3565.html");

  script_category(ACT_GATHER_INFO);
  script_copyright("Copyright (c) 2016 Greenbone Networks GmbH http://greenbone.net");
  script_family("Debian Local Security Checks");
  script_dependencies("gather-package-list.nasl");
  script_mandatory_keys("ssh/login/debian_linux", "ssh/login/packages", re:"ssh/login/release=DEB8");
  script_tag(name:"affected", value:"botan1.10 on Debian Linux");
  script_tag(name:"solution", value:"For the stable distribution (jessie),
these problems have been fixed in version 1.10.8-2+deb8u1.

We recommend that you upgrade your botan1.10 packages.");
  script_tag(name:"summary", value:"Several security vulnerabilities were
found in botan1.10, a C++ library which provides support for many common
cryptographic operations, including encryption, authentication, X.509v3 certificates
and CRLs.

CVE-2015-5726
The BER decoder would crash due to reading from offset 0 of an
empty vector if it encountered a BIT STRING which did not contain
any data at all. This can be used to easily crash applications
reading untrusted ASN.1 data, but does not seem exploitable for
code execution.

CVE-2015-5727
The BER decoder would allocate a fairly arbitrary amount of memory
in a length field, even if there was no chance the read request
would succeed. This might cause the process to run out of memory or
invoke the OOM killer.

CVE-2015-7827
Use constant time PKCS #1 unpadding to avoid possible side channel
attack against RSA decryption

CVE-2016-2194
Infinite loop in modular square root algorithm.
The ressol function implementing the Tonelli-Shanks algorithm for
finding square roots could be sent into a nearly infinite loop due
to a misplaced conditional check. This could occur if a composite
modulus is provided, as this algorithm is only defined for primes.
This function is exposed to attacker controlled input via the
OS2ECP function during ECC point decompression.

CVE-2016-2195
Fix Heap overflow on invalid ECC point.

CVE-2016-2849
Use constant time modular inverse algorithm to avoid possible
side channel attack against ECDSA.");
  script_tag(name:"vuldetect", value:"This check tests the installed software
version using the apt package manager.");

  exit(0);
}

include("revisions-lib.inc");
include("pkg-lib-deb.inc");

res = "";
report = "";
if((res = isdpkgvuln(pkg:"botan1.10-dbg", ver:"1.10.8-2+deb8u1", rls:"DEB8")) != NULL) {
  report += res;
}
if((res = isdpkgvuln(pkg:"libbotan-1.10-0", ver:"1.10.8-2+deb8u1", rls:"DEB8")) != NULL) {
  report += res;
}
if((res = isdpkgvuln(pkg:"libbotan1.10-dev", ver:"1.10.8-2+deb8u1", rls:"DEB8")) != NULL) {
  report += res;
}

if(report != "") {
  security_message(data:report);
} else if (__pkg_match) {
  exit(99);
}