Juniper ScreenOS 6.3.x < 6.3.0r23 Multiple Vulnerabilities in OpenSSL (JSA10759) (DROWN)

This script is Copyright (C) 2016 Tenable Network Security, Inc.


Synopsis :

The remote host is affected by multiple vulnerabilities.

Description :

The version of Juniper ScreenOS running on the remote host is 6.3.x
prior to 6.3.0r23. It is, therefore, affected by multiple
vulnerabilities in its bundled version of OpenSSL :

- A flaw exists in the SSLv2 implementation,
specifically in the get_client_master_key() function
within file s2_srvr.c, due to accepting a nonzero
CLIENT-MASTER-KEY CLEAR-KEY-LENGTH value for an
arbitrary cipher. A man-in-the-middle attacker can
exploit this to determine the MASTER-KEY value and
decrypt TLS ciphertext by leveraging a Bleichenbacher
RSA padding oracle. (CVE-2016-0703)

- A flaw exists in the SSLv2 oracle protection mechanism,
specifically in the get_client_master_key() function
within file s2_srvr.c, due to incorrectly overwriting
MASTER-KEY bytes during use of export cipher suites.
A remote attackers can exploit this to more easily
decrypt TLS ciphertext by leveraging a Bleichenbacher
RSA padding oracle. (CVE-2016-0704)

- A NULL pointer dereference flaw exists in the
BN_hex2bn() and BN_dec2bn() functions. A remote attacker
can exploit this to trigger a heap corruption, resulting
in the execution of arbitrary code. (CVE-2016-0797)

- A flaw exists that allows a cross-protocol
Bleichenbacher padding oracle attack known as DROWN
(Decrypting RSA with Obsolete and Weakened eNcryption).
This vulnerability exists due to a flaw in the Secure
Sockets Layer Version 2 (SSLv2) implementation, and it
allows captured TLS traffic to be decrypted. A
man-in-the-middle attacker can exploit this to decrypt
the TSL connection by utilizing previously captured
traffic and weak cryptography along with a series of
specially crafted connections to an SSLv2 server that
uses the same private key. (CVE-2016-0800)

- A heap buffer overflow condition exists in the
EVP_EncodeUpdate() function within file
crypto/evp/encode.c that is triggered when handling
a large amount of input data. An unauthenticated, remote
attacker can exploit this to cause a denial of service
condition. (CVE-2016-2105)

- A heap buffer overflow condition exists in the
EVP_EncryptUpdate() function within file
crypto/evp/evp_enc.c that is triggered when handling a
large amount of input data after a previous call occurs
to the same function with a partial block. An
unauthenticated, remote attacker can exploit this to
cause a denial of service condition. (CVE-2016-2106)

- A remote code execution vulnerability exists in the
ASN.1 encoder due to an underflow condition that occurs
when attempting to encode the value zero represented as
a negative integer. An unauthenticated, remote attacker
can exploit this to corrupt memory, resulting in the
execution of arbitrary code. (CVE-2016-2108)

Note that Nessus has not tested for these issues but has instead
relied only on the application's self-reported version number.

See also :

https://kb.juniper.net/InfoCenter/index?page=content&id=JSA10759
http://www.nessus.org/u?c4eb1929
https://www.openssl.org/news/secadv/20151203.txt
https://www.openssl.org/news/secadv/20160301.txt
https://www.openssl.org/news/secadv/20160503.txt
https://www.openssl.org/news/secadv/20160922.txt
https://www.drownattack.com/drown-attack-paper.pdf
https://drownattack.com/

Solution :

Upgrade to Juniper ScreenOS version 6.3.0r23 or later. Alternatively,
refer to the vendor advisory for additional workarounds.

Risk factor :

Critical / CVSS Base Score : 10.0
(CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C)
CVSS Temporal Score : 7.4
(CVSS2#E:U/RL:OF/RC:C)
Public Exploit Available : false

Ready to Amp Up Your Nessus Experience?

Get Nessus Professional to scan unlimited IPs, run compliance checks & more

Buy Nessus Professional Now