• Dean Rasheed's avatar
    Always require SELECT permission for ON CONFLICT DO UPDATE. · 87b2ebd3
    Dean Rasheed authored
    The update path of an INSERT ... ON CONFLICT DO UPDATE requires SELECT
    permission on the columns of the arbiter index, but it failed to check
    for that in the case of an arbiter specified by constraint name.
    
    In addition, for a table with row level security enabled, it failed to
    check updated rows against the table's SELECT policies when the update
    path was taken (regardless of how the arbiter index was specified).
    
    Backpatch to 9.5 where ON CONFLICT DO UPDATE and RLS were introduced.
    
    Security: CVE-2017-15099
    87b2ebd3
privileges.out 57.9 KB