While answering a question on Stack Overflow about restoring with gbak, I was thinking about the implications of the new system privilege USE_GBAK_UTILITY.

A user that can backup and restore a database can do a lot more to a database. They can backup a database, manipulate it in some way on another machine and then restore the manipulated database (or another database entirely). Granting a user USE_GBAK_UTILITY essentially gives them indirect RDB$ADMIN rights.

The only real protection against this is a database constantly being in use (which can be circumvented if the user also has USE_GFIX_UTILITY so they can shut down the database).

We may want to explicitly document this as an important caveat, as the implications may not be immediately clear.

I think it might also be a good idea to provide two separate privileges (eg USE_GBAK_BACKUP, USE_GBAK_RESTORE), and maybe even drop the USE_GBAK_UTILITY entirely.

Mark
--
Mark Rotteveel


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to