Re: using explicit_bzero

Peter Eisentraut <peter.eisentraut@2ndquadrant.com>

From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>, Tom Lane <tgl@sss.pgh.pa.us>, Alvaro Herrera <alvherre@2ndquadrant.com>, Thomas Munro <thomas.munro@gmail.com>
Date: 2019-08-13T08:30:39Z
Lists: pgsql-hackers

Attachments

On 2019-07-30 07:08, Michael Paquier wrote:
> On Mon, Jul 29, 2019 at 11:30:53AM +0200, Peter Eisentraut wrote:
>> Another patch, with various fallback implementations.
> 
> I have spotted some issues with this patch:
> 1) The list of port files @pgportfiles in Mkvcbuild.pm has not been
> updated with the new file explicit_bzero.c, so the compilation would
> fail with MSVC.
> 2) pg_config.h.win32 does not include the two new flags (same as
> https://www.postgresql.org/message-id/20190624050850.GE1637@paquier.xyz)

Another patch, to attempt to fix the Windows build.

> 3) What about CreateRole() and AlterRole() which can manipulate a
> password in plain format before hashing?  (same message as previous
> point).

If you want to secure CREATE ROLE foo PASSWORD 'plaintext' then you need
to also analyze memory usage in protocol processing and parsing and the
like.  This would be a laborious and difficult to verify undertaking.
It's better to say, if you want to be secure, don't do that.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Commits

  1. Use explicit_bzero