Information
The SYSCAT.ROUTINEAUTH contains a list of all users that have EXECUTE privilege on a routine (function, method, or procedure). It is recommended that the PUBLIC role be restricted from accessing this view.
PUBLIC should not have access to see all the grants of routines to users or groups because this could be used as a point of exploit.
Solution
Perform the following to revoke access from PUBLIC.
1. Connect to the DB2 database.
db2 => connect to $DB2INSTANCE user $USERNAME using $PASSWORD
2. Run the following command from the DB2 command window:
db2 => REVOKE SELECT ON SYSCAT.ROUTINEAUTH FROM PUBLIC