• Noah Misch's avatar
    Make relation-enumerating operations be security-restricted operations. · ab49ce7c
    Noah Misch authored
    When a feature enumerates relations and runs functions associated with
    all found relations, the feature's user shall not need to trust every
    user having permission to create objects.  BRIN-specific functionality
    in autovacuum neglected to account for this, as did pg_amcheck and
    CLUSTER.  An attacker having permission to create non-temp objects in at
    least one schema could execute arbitrary SQL functions under the
    identity of the bootstrap superuser.  CREATE INDEX (not a
    relation-enumerating operation) and REINDEX protected themselves too
    late.  This change extends to the non-enumerating amcheck interface.
    Back-patch to v10 (all supported versions).
    
    Sergey Shinderuk, reviewed (in earlier versions) by Alexander Lakhin.
    Reported by Alexander Lakhin.
    
    Security: CVE-2022-1552
    ab49ce7c
check_btree.out 6.8 KB