Prohibit any ability to issue DML or DDL statements on RDB$ tables ------------------------------------------------------------------
Key: CORE-4731 URL: http://tracker.firebirdsql.org/browse/CORE-4731 Project: Firebird Core Issue Type: Task Affects Versions: 3.0 Beta 2 Reporter: Pavel Zotov Attachments: rdb-vulnerable-statements.zip Currently in 3.0 there are many DML and even DDL statements that allowed to be issued against RDB$ tables. I've made query that gathers info about every RDB$ and executes following kinds of statements that will try to: DML, insert DML, select WITH LOCK DML, update DML, delete DDL, add column with arbitrary name --- 'A' DDL, alter some OLD (existed before 'A') column set NULL flag DDL, alter some OLD (existed before 'A') column add new constraint on it DDL, alter some OLD (existed before 'A') column set DEFAULT value DDL, drop some OLD (existed before 'A') column DDL, drop RDB$-table If any statement does NOT raise exception than it is logged into special table and than one may get overall report about full list of them. Unfortunatelly, not only SYSDBA can make such "bad actions" but unprivileged user too. Scripts in attach: 1) total-dictionary-check.prepare.sql -- this is auxiliary script for creating non-privileged user and revoke all rights from him; than DDL privilege for creating/altering and dropping table is added (only to let him to recreate log table which will be store permitted statements); 2) total-dictionary-check.run-it.sql -- this is the main script for check ability to run "bad statements" against RDB$-tables. 3) rdb-vulnerable-statements-SYSDBA.log -- this is SQL commands that now are allowed on new FB-3 database when they run by SYSDBA; 4 ) rdb-vulnerable-statements-NON_sys.log -- the same as "3" but run by NON-PRIVILEGED user. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel