Jeste jsem videl v nekterych doporucenich dropnuti databaze "postgres". Prijde mi to mozna az moc paranoidni - ale do jiste miry tomu rozumim. Na druhou stranu, pokud dropnete public, nebo databazi postgres,
tak nektere extenze nebo postupy, ktere jsou nekde na netu prestanou fungovat. V jednom korporatu jsem se setkal s tim, ze tym z roku 2010 efektivne databazi zabezpecil timto zpusobem. Databazovy tym z roku 2020,
ktery byl spis juniorni byl pak dost zmateny - samozrejme, ze temer vsichni lidi, kteri to predtim nastavovali, tak uz po roce 2020 tam nebyli.
CVE-2018-1058 je pro drtivou vetsinu aplikaci irelevantni - pozadavkem je mit kompromitovany ucet a pristup k databazi. V ten moment ale si uz utocnik muze vetsinou stahnout nebo modifikovat libovolna data
v 99% aplikaci, ktere jsem videl, a nejake maskarady s public schematem a search_path jsou uplne zbytecne.
Schema public samo o sobe az takove riziko neni - problem je az v kombinaci se search_path, a pak potencialne v moznosti presmerovani dotazu na jine objekty v pripade pouziti nekvalifikovanych indetifikatoru.
Kdyz uz dropnete public schema, tak urcite stoji za to zmenit nastaveni search_path, pripadne zafixovat jeho nastaveni (pokud je to cilem - nektere aplikace mohou vyzadovat dynamicke nastaveni search_path)
Hezky den
Pavel Stehule