MOSS/Secure Open Source/Completed
Secure Open Source has completed the following audits.
2019
tcpdump & libpcap
Dates: 2019
tcpdump & libpcap are a powerful command-line packet analyzer and a portable C/C++ library for network traffic capture, respectively. The audit was performed by Michael Richardson.
The team found the following problems:
- 8 Verified Fixes
The documents are as follows:
libssh
Dates: 2019
libshh is a multiplatform C library implementing the SSHv2 protocol on client and server side. The audit was performed by Cure53.
The team found the following problems:
- 1 Critical
- 1 Medium
- 7 Low
- 3 Informational
The documents are as follows:
2018
graphite
Dates: August 2018
graphite is "a "smart font" system developed specifically to handle the complexities of lesser-known languages of the world. The audit was performed by Radically Open Security.
The team found the following problems:
- 1 Elevated
- 9 Moderate
- 11 Low
The documents are as follows:
Thunderbird and Enigmail
Dates: January 2018
Thunderbird and Enigmail work together to provide a free, simple interface for OpenPGP email security. The audit was performed by Cure53.
The team found the following problems:
- 3 Critical
- 3 High
- 3 Medium
The documents are as follows:
SimpleSAMLphp
Dates: January 2018
SimpleSAMLphp is an application written in native PHP that deals with authentication. The audit was performed by Cure53.
The team found the following problems:
- 1 Critical
- 3 Medium
- 1 Informational
The documents are as follows:
oauth2-server
Dates: September 2017 - February 2018
oauth2-server is a standards compliant implementation of an OAuth 2.0 authorization server written in PHP. The audit was performed by Least Authority.
The team found the following problems:
- 1 High
- 3 Medium
- 1 Low
- 2 Informational
The documents are as follows:
Knot DNS
Dates: September 2017 - January 2018
Knot DNS is a high-performance authoritative-only DNS server which supports all key features of the modern domain name system. Also audited was Knot Resolver, a caching full DNS resolver implementation, including both a resolver library and a daemon. The audit was performed by Least Authority.
The team found the following problems:
- 4 Medium
- 7 Low
- 2 Informational
Least Authority made the following comment on the code quality: "Overall, we found the code to be well structured and cleanly written. Additionally Knot makes good use of available tools, such as fuzzers and compiler sanitizers."
The documents are as follows:
2017
CakePHP
Dates: July - November 2017
CakePHP is an open source web framework in PHP. The audit was performed by NCC Group.
The team found the following problems:
- 1 High
- 5 Medium
- 9 Low
- 5 Informational
The documents are as follows:
chrony
Dates: June - September 2017
chrony is an implementation of the Network Time Protocol, used either to set the time on a particular machine or act as an NTP server for other machines on the network. The audit was performed by Cure53, and kindly funded by CII.
The team found the following problems:
- 2 Low
Cure53 write: The overwhelmingly positive result of this security assignment performed by three Cure53 testers can be clearly inferred from a marginal number and low-risk nature of the findings amassed in this report. Withstanding eleven full days of on-remote testing in August of 2017 means that Chrony is robust, strong, and developed with security in mind. The software boasts sound design and is secure across all tested areas. It is quite safe to assume that untested software in the Chrony family is of a similarly exceptional quality. In general, the software proved to be well-structured and marked by the right abstractions at the appropriate locations. While the functional scope of the software is quite wide, the actual implementation is surprisingly elegant and of a minimal and just necessary complexity. In sum, the Chrony NTP software stands solid and can be seen as trustworthy.
The documents are as follows:
expat
Dates: February - July 2017
expat is a stream-oriented XML parser library written in C. The audit was performed by Radically Open Security.
The team found the following problems:
- 4 Medium
- 3 Low
The documents are as follows:
GNU libmicrohttpd
Dates: January - May 2017
GNU libmicrohttpd is a small embeddable HTTP 1.1 server written in C which supports TLS and IPv6. The audit was performed by Least Authority.
The team found the following problems:
- 1 Medium
- 2 Low
- 1 Informational
The documents are as follows:
oauth2-server
Dates: December 2016 - January 2017
oauth2-server is a standards compliant implementation of an OAuth 2.0 authorization server written in PHP. The audit was performed by independent auditor Brian Carpenter.
The team found the following problems:
- 1 Low
There is no fix and validation log; the subsystem in which the issue was found is being removed.
dovecot
Dates: October 2016 - January 2017
dovecot is a POP and IMAP mailserver; it is used in 68% of IMAP server deployments worldwide. The audit was performed by Cure53.
The team found the following problems:
- 3 Low
The Cure53 team were extremely impressed with the quality of the dovecot code. They wrote: "Despite much effort and thoroughly all-encompassing approach, the Cure53 testers only managed to assert the excellent security-standing of Dovecot. More specifically, only three minor security issues have been found in the codebase, thus translating to an exceptionally good outcome for Dovecot, and a true testament to the fact that keeping security promises is at the core of the Dovecot development and operations."
ntp
Dates: December 2016 - March 2017
ntp is a implementation of the Network Time Protocol. The audit was performed by Cure53.
The team found the following problems:
- 1 Critical
- 2 High
- 1 Medium
- 8 Low
- 2 Informational
This audit was performed at the same time as an audit of ntpsec, which is based on a version of the ntp code.
ntpsec
Dates: December 2016 - March 2017
ntpsec is a implementation of the Network Time Protocol, a fork of ntp. The audit was performed by Cure53.
The team found the following problems:
- 3 High
- 1 Medium
- 3 Low
- 1 Informational
This audit was performed at the same time as an audit of ntp, of which this codebase is a fork.
2016
PCRE
Dates: October 2015 - June 2016
PCRE (Perl-Compatible Regular Expressions) is a C library for implementing regular expressions in a codebase. It is used in various open source projects including Exim, Apache, PHP and KDE, as well as Apple Safari. We audited PCRE2, a newer version which is currently less commonly-used but which is expected to become increasingly common. The audit was performed by Cure53.
The team found the following problems:
- 1 Critical
- 5 Medium
- 20 Low
- 3 Informational
The critical vulnerability was a stack buffer overflow which could have led to arbitrary code execution when compiling untrusted regular expressions.
libjpeg-turbo
Dates: November 2015 - June 2016
libjpeg-turbo is a fork of the libjpeg codebase which is particularly focussed on speed, and on compatibility with the most commonly-used standard profiles of JPEG. It is used by a number of open source projects, including Chrome, LibreOffice, Firefox and various flavours of VNC. The audit was performed by Cure53.
The team found the following problems:
- 1 High
- 2 Medium
- 2 Low
The high vulnerability was an out-of-bounds read. It is unclear exactly how exploitable it was. However, more interesting were the two medium vulnerabilities, which were initially reported as DoS bugs in the libjpeg-turbo library but on further investigation were found to be issues with the JPEG standard itself. These issues were reproduced across multiple JPEG implementations, can be triggered by entirely legal JPEGs, and so are not easy to mitigate in any JPEG library itself. We have written up these issues in a separate report, along with our suggestions as to how applications using JPEG can mitigate them in their own code.
phpMyAdmin
Dates: May - June 2016
phpMyAdmin is a web-based administration tool for MySQL databases. The audit was performed by NCC Group.
The team found the following problems:
- 3 Medium
- 5 Low
- 1 Informational
NCC Group found no serious issues in this codebase.
dnsmasq
Dates: May - August 2016
dnsmasq is a lightweight implementation of DNS, DHCP, router advertisement and network boot. It is used in resource-constrained environments such as routers and firewalls (e.g. openWRT and DD-WRT), Android, and OpenStack. The audit was performed by Cure53.
The team found the following problems:
- 1 Medium
- 5 Low
zlib
Dates: July - September 2016
zlib is a compression library implementing the 'deflate' compression algorithm, used in countless applications. The audit was performed by Trail of Bits.
The team found the following problems:
- 1 Medium
- 4 Low
One of the Low severity issues is still under discussion between the zlib development team and the auditors, as they are working out how to resolve it without performance degradation.
curl
Dates: August - November 2016
curl is a command-line application for transferring data, most usually over HTTP or HTTPS. The audit was performed by Cure53.
The team found the following problems:
- 4 High
- 5 Medium
- 9 Low
- 5 Informational
8 of the vulnerabilities resulted in security advisories being produced by the curl team on November 2nd, 2016.