PostgreSQL: psql set allows overwriting specially treated variables
The gset meta-command, which sets psql variables based on query results, does not distinguish variables that control psql behavior. If an interactive psql session uses gset when querying a compromised server, the attacker can execute arbitrary code as the operating system account running psql. Using gset with a prefix not found among specially treated variables, e.g. any lowercase string, precludes the attack in an unpatched psql.