OpenSSL crypto/bio/b_print.c doapr_outch maxlen memory corruption

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.

A vulnerability has been found in OpenSSL (Network Encryption Software) and classified as critical. This vulnerability affects the function doapr_outch of the file crypto/bio/b_print.c. The manipulation of the argument maxlen with an unknown input leads to a memory corruption vulnerability. The CWE definition for the vulnerability is CWE-119. As an impact it is known to affect confidentiality, integrity, and availability.

The weakness was disclosed 02/27/2016 by Guido Vranken as OpenSSL CVE-2016-0799: heap corruption via BIO_printf as confirmed advisory (Website). The advisory is shared for download at This vulnerability was named CVE-2016-0799 since 12/16/2015. The attack can be initiated remotely. No form of authentication is required for a successful exploitation. There are known technical details, but no exploit is available. The current price for an exploit might be approx. USD $5k-$25k (estimation calculated on 09/01/2018). Responsible for the vulnerability is the following code:

if (buffer && *currlen == *maxlen) {
The advisory points out:
One of the problems with the doapr_outch() function is that it cannot signal failure to allocate memory to its caller, because it is a void-returning function.

The vulnerability scanner Nessus provides a plugin with the ID 89842 (Amazon Linux AMI : openssl (ALAS-2016-661) (DROWN) (SLOTH)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Amazon Linux Local Security Checks and running in the context local. The commercial vulnerability scanner Qualys is able to test this issue with plugin 168833 (OpenSuSE Security Update for libopenssl0_9_8 (openSUSE-SU-2016:1241-1)).

Applying a patch is able to eliminate this problem. The bugfix is ready for download at A possible mitigation has been published 3 days after the disclosure of the vulnerability.

The vulnerability is also documented in the databases at SecurityFocus (BID 83755), X-Force (111143), Vulnerability Center (SBV-57006) and Tenable (89842). The entries 81133, 81138, 81139 and 81142 are pretty similar.


  • Apache httpd
  • OpenSSL




CPE 2.3infoedit

CPE 2.2infoedit


VulDB Meta Base Score: 9.8
VulDB Meta Temp Score: 8.5

VulDB Base Score: 9.8
VulDB Temp Score: 8.5
VulDB Vector: 🔍
VulDB Reliability: 🔍

NVD Base Score: 9.8
NVD Vector: 🔍



VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍

NVD Base Score: 🔍


Class: Memory corruption
CWE: CWE-119
ATT&CK: Unknown

Local: No
Remote: Yes

Availability: 🔍
Status: Unproven

Price Prediction: 🔍
Current Price Estimation: 🔍


Nessus ID: 89842
Nessus Name: Amazon Linux AMI : openssl (ALAS-2016-661) (DROWN) (SLOTH)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍

OpenVAS ID: 12024
OpenVAS Name: Mageia Linux Local Check: mgasa-2016-0093
OpenVAS File: 🔍
OpenVAS Family: 🔍

Qualys ID: 🔍
Qualys Name: 🔍

Threat Intelligenceinfoedit

Threat: 🔍
Adversaries: 🔍
Geopolitics: 🔍
Economy: 🔍
Predictions: 🔍
Remediation: 🔍


Recommended: Patch
Status: 🔍

Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍



12/16/2015 🔍
02/27/2016 +73 days 🔍
02/29/2016 +2 days 🔍
02/29/2016 +0 days 🔍
03/01/2016 +0 days 🔍
03/01/2016 +0 days 🔍
03/03/2016 +1 days 🔍
03/05/2016 +2 days 🔍
03/10/2016 +5 days 🔍
05/22/2018 +802 days 🔍
09/01/2018 +102 days 🔍



Advisory: OpenSSL CVE-2016-0799: heap corruption via BIO_printf
Researcher: Guido Vranken
Status: Confirmed
Confirmation: 🔍

CVE: CVE-2016-0799 (🔍)

SecurityFocus: 83755 - OpenSSL CVE-2016-0799 Remote Format String Vulnerability
X-Force: 111143 - OpenSSL BIO_*printf() information disclosure
Vulnerability Center: 57006 - OpenSSL Remote Information Disclosure due to Out-of-Bounds Read in BIO_*printf - CVE-2016-0799, Low

See also: 🔍


Created: 02/29/2016 09:14 AM
Updated: 09/01/2018 08:40 AM
Changes: (19) vulnerability_cvss2_nvd_av vulnerability_cvss2_nvd_ac vulnerability_cvss2_nvd_au vulnerability_cvss2_nvd_ci vulnerability_cvss2_nvd_ii vulnerability_cvss2_nvd_ai vulnerability_cvss3_vuldb_av vulnerability_cvss3_vuldb_ac vulnerability_cvss3_vuldb_pr vulnerability_cvss3_vuldb_ui vulnerability_cvss3_vuldb_s vulnerability_cvss3_vuldb_c vulnerability_cvss3_vuldb_i vulnerability_cvss3_vuldb_a advisory_person_name advisory_confirm_url source_oval_id source_securityfocus_date source_securityfocus_class
Complete: 🔍


No comments yet. Please log in to comment.

Interested in the pricing of exploits?

See the underground prices here!