MOSS/Secure Open Source/Completed: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Typo)
(Add curl)
Line 7: Line 7:
[http://www.pcre.org/ PCRE] (Perl-Compatible Regular Expressions) is a C library for implementing [https://en.wikipedia.org/wiki/Regular_expression 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 [https://cure53.de/ Cure53].
[http://www.pcre.org/ PCRE] (Perl-Compatible Regular Expressions) is a C library for implementing [https://en.wikipedia.org/wiki/Regular_expression 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 [https://cure53.de/ Cure53].


The team found the following vulnerabilities:
The team found the following problems:


* 1 Critical
* 1 Critical
Line 25: Line 25:
[http://www.libjpeg-turbo.org/ 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 [https://cure53.de/ Cure53].
[http://www.libjpeg-turbo.org/ 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 [https://cure53.de/ Cure53].


The team found the following vulnerabilities:
The team found the following problems:


* 1 High
* 1 High
Line 43: Line 43:
[https://www.phpmyadmin.net/ phpMyAdmin] is a web-based administration tool for MySQL databases. The audit was performed by [https://www.nccgroup.trust/ NCC Group].   
[https://www.phpmyadmin.net/ phpMyAdmin] is a web-based administration tool for MySQL databases. The audit was performed by [https://www.nccgroup.trust/ NCC Group].   


The team found the following vulnerabilities:
The team found the following problems:


* 3 Medium
* 3 Medium
Line 60: Line 60:
[http://www.thekelleys.org.uk/dnsmasq/doc.html 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 [https://cure53.de/ Cure53].   
[http://www.thekelleys.org.uk/dnsmasq/doc.html 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 [https://cure53.de/ Cure53].   


The team found the following vulnerabilities:
The team found the following problems:


* 1 Medium
* 1 Medium
Line 74: Line 74:
[http://www.zlib.net/ zlib] is a compression library implementing the 'deflate' compression algorithm, used in countless applications. The audit was performed by [https://www.trailofbits.com/ Trail of Bits].   
[http://www.zlib.net/ zlib] is a compression library implementing the 'deflate' compression algorithm, used in countless applications. The audit was performed by [https://www.trailofbits.com/ Trail of Bits].   


The team found the following vulnerabilities:
The team found the following problems:


* 1 Medium
* 1 Medium
Line 83: Line 83:


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.
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: July - November 2016
[https://curl.haxx.se/ curl] is a command-line application for transferring data, most usually over HTTP or HTTPS. The audit was performed by [https://cure53.de/ Cure53]. 
The team found the following problems:
* 4 High
* 5 Medium
* 9 Low
* 5 Informational
8 of the vulnerabilities resulted in [https://curl.haxx.se/docs/security.html security advisories] being produced by the curl team on November 2nd, 2016.
* [[Media:Curl-report.pdf|Audit report]]
* [https://docs.google.com/document/d/17EvPM_LHJiOQPGC8cZ7nd2_7Hs7PIhrQqa7s9-pylm0/edit Fix and validation log]

Revision as of 09:48, 23 November 2016

Secure Open Source has completed the following audits.

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: July - 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.