SSPI authentication ASC_REQ_REPLAY_DETECT flag

From: Jacobo Vazquez <jvazquez(at)denodo(dot)com>
To: pgsql-odbc(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org
Subject: SSPI authentication ASC_REQ_REPLAY_DETECT flag
Date: 2015-03-27 11:13:51
Message-ID: CADdJUUJuNDN5ekarfdL8O7Tb_duVao0M48W9dj-ox5bXkE+3xA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers pgsql-odbc

Hi all,

I installed PostgreSQL 9.3 on a Windows Server 2012 and I have
configured it to use SSPI authentication. The client is on a Windows 7
machine and make the connections via ODBC using a DSN with psqlodbc driver
version 9.03.04.00. Authentication works in this scenario for the user
authenticated in the client machine. I am always using the same user for
connections.

I used Wireshark in the configuration phase to analyze the traffic
between the server and the client. It looks to me that in the
authentication phase, the client always sends the same service ticket to
postgresql server when a new connection is created, even when I create a
new DSN pointing to the same server, it keeps sending the same service
ticket.

Analyzing the source code, in the file src/backend/libpq/auth.c looks
like the server is not checking if the service ticket is reused:

r = AcceptSecurityContext(&sspicred,
sspictx,
&inbuf,
ASC_REQ_ALLOCATE_MEMORY,
SECURITY_NETWORK_DREP,
&newctx,
&outbuf,
&contextattr,
NULL);

The fourth parameter is not using the ASC_REQ_REPLAY_DETECT flag.

Am I misunderstanding something or is this the expected behavior? This
not means a replay attack risk? I think that if SSL is not used by the
connection, a malicious user could capture the authentication package which
the client service ticket and then reuse it.

Thanks in advance
--

Responses

Browse pgsql-general by date

  From Date Subject
Next Message R Clarke 2015-03-27 12:04:33 Re: Could not read block of temporary files
Previous Message Vincent Veyron 2015-03-27 10:41:11 Re: Populating missing dates in postgresql data

Browse pgsql-hackers by date

  From Date Subject
Next Message Antonin Houska 2015-03-27 12:50:41 Re: WIP: Split of hash index bucket
Previous Message Vladimir Borodin 2015-03-27 10:15:34 Vacuuming big btree indexes without pages with deleted items

Browse pgsql-odbc by date

  From Date Subject
Next Message Jeremiah Penery 2015-03-31 16:06:01 RPM meta package
Previous Message Raiford 2015-03-26 20:42:43 Re: Need to make a 32 bit PostgreSQL ODBC driver for Linux