• Magnus Hagander's avatar
    Fix low-risk potential denial of service against RADIUS login. · 0e7f7071
    Magnus Hagander authored
    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.
    0e7f7071
auth.c 76.9 KB