• Noah Misch's avatar
    Ignore attempts to \gset into specially treated variables. · 098fb007
    Noah Misch authored
    If an interactive psql session used \gset when querying a compromised
    server, the attacker could execute arbitrary code as the operating
    system account running psql.  Using a prefix not found among specially
    treated variables, e.g. every lowercase string, precluded the attack.
    Fix by issuing a warning and setting no variable for the column in
    question.  Users wanting the old behavior can use a prefix and then a
    meta-command like "\set HISTSIZE :prefix_HISTSIZE".  Back-patch to 9.5
    (all supported versions).
    
    Reviewed by Robert Haas.  Reported by Nick Cleaton.
    
    Security: CVE-2020-25696
    098fb007
variables.h 3.81 KB