oss-sec mailing list archives

Re: Qualys Security Advisory - Roaming through the OpenSSH client: CVE-2016-0777 and CVE-2016-0778


From: Florian Weimer <fweimer () redhat com>
Date: Mon, 18 Jan 2016 14:05:23 +0100

On 01/15/2016 01:56 PM, Yann Droneaud wrote:
Hi,

Le vendredi 15 janvier 2016 à 12:06 +0100, Florian Weimer a écrit :
On 01/14/2016 06:13 PM, Qualys Security Advisory wrote:
Internal stdio buffering is the most severe of the three problems
discussed in this section, although GNU/Linux is not affected
because the glibc mmap()s and munmap()s (and therefore cleanses)
stdio buffers.

This will change in glibc 2.23, stdio will use regular malloc and
free for its buffers.  I did not expect this change to have security
implications.  Considering that the actual bug lies elsewhere, and
stdio usage is based on copying out of the buffer (so leaks can still
happen elsewhere), I do not wish to revert this change.


Would setvbuf(stream, NULL, _IONBF, 0); be used to disable buffer
before reading/writting sensible data to a stream ?

That entirely depends on how the data is read or written.  glibc will
make additional copies on the heap in some cases.  In any case, this is
an implementation detail.

Even if the data is gone from the process image, the kernel or its
hypervisor may still keep copies, particularly if the data is (or was
once) on the file system.  It is very hard to override data reliably on
modern systems.

Florian


Current thread: