]> granicus.if.org Git - postgresql/commit
Fix low-risk potential denial of service against RADIUS login.
authorMagnus Hagander <magnus@hagander.net>
Fri, 15 Oct 2010 14:59:10 +0000 (16:59 +0200)
committerMagnus Hagander <magnus@hagander.net>
Fri, 15 Oct 2010 14:59:10 +0000 (16:59 +0200)
commit0e7f7071e893bb171150e53271404b0819a40669
tree4c92bf93391229ccab1a24090a70aa58f74c6fdf
parent915116bc62db2aaec7001bde6610128f4cbd29f9
Fix low-risk potential denial of service against RADIUS login.

Corrupt RADIUS responses were treated as errors and not ignored
(which the RFC2865 states they should be). This meant that a
user with unfiltered access to the network of the PostgreSQL
or RADIUS server could send a spoofed RADIUS response
to the PostgreSQL server causing it to reject a valid login,
provided the attacker could also guess (or brute-force) the
correct port number.

Fix is to simply retry the receive in a loop until the timeout
has expired or a valid (signed by the correct RADIUS server)
packet arrives.

Reported by Alan DeKok in bug #5687.
src/backend/libpq/auth.c