Potential Vulnerability for X509 Certificate Verification

Bug #1380229 reported by Jerry Zhang
This bug affects 1 person
Affects Status Importance Assigned to Milestone
nagios-nrpe (Ubuntu)

Bug Description

Hostname verification is an important step when verifying X509 certificates, however, people tend to miss the step when using SSL/TLS, which might cause severe man in the middle attack and break the entire TLS mechanism.

We believe that nagios-nrpe-plugin didn't check whether the hostname matches the name in the ssl certificate.

We found the vulnerability by static analysis, typically, a process of verification involves calling a chain of API, and we can deduce whether the communication process is vulnerable by detecting whether the process satisfies a certain relation.
The result format is like this:
notice: Line Number@Method Name, Source File

We provide this result to help developers to locate the problem faster.

This is the result for nagios-nrpe-plugin:
 [HASH] 2600616823 [LineNo]@ 157[Kind]call-site[Char] SSL_connect()[Src] /home/roca/workspace/codebase/code/ubuntu_pkg/nagios-nrpe-plugin/nagios-nrpe-2.12/src/check_nrpe.c
 [INFO] API SSL_new() Found! --> [HASH] 4103224634 [LineNo]@ 154[Kind]call-site[Char] SSL_new()[Src] /home/roca/workspace/codebase/code/ubuntu_pkg/nagios-nrpe-plugin/nagios-nrpe-2.12/src/check_nrpe.c
 [INFO] API SSL_CTX_new() Found! --> [HASH] 4083349714 [LineNo]@ 235[Kind]call-site[Char] SSL_CTX_new()[Src] /home/roca/workspace/codebase/code/ubuntu_pkg/nagios-nrpe-plugin/nagios-nrpe-2.12/src/nrpe.c
 [Warning] No secure SSL_Method API found! Potentially vulnerable!!!

The result means that we found that nagios-nrpe-plugin uses ssl and it didn't invoke the method pertaining to the certificate, thus it is vulnearable if the certificate is tampered.

We don't have a POC because we didn't succeed in configuring this software or don't know the way to verify the vulnerability. But through the analysis of the source code, we believe it breaks the ssl certificate verfication protocol.

for more information about the importance of checking hostname:
see http://people.stfx.ca/x2011/x2011ucj/SSL/p38-georgiev.pdf


Jerry Zhang (jerryzh168)
information type: Private Security → Public
information type: Public → Public Security
Jerry Zhang (jerryzh168)
description: updated
Revision history for this message
Markus Frosch (lazyfrosch) wrote :

Nagios NRPE does not have any usage of x509 certificates.

The TLS code is broken by design and never has been secure. This is known for years.

Only thing the tool does is to initiate a "crypted" connection based on a on compile time generated DH key, no verification whatsoever.

This is a major upstream design flaw and can't be fixed just with a patch.

There is a long discussion on the Debian bug tracker:

Changed in nagios-nrpe (Ubuntu):
status: New → Opinion
To post a comment you must log in.
This report contains Public Security information  Edit
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.