System catalog / metadata objects that must never be referenced from a user-supplied
expression or ad-hoc query, in ANY context (including full_query). These sit outside
MemberJunction's entity-permission model, so allowing them turns a validated SELECT into
a schema-enumeration and credential-exfiltration primitive
(e.g. SELECT name, password_hash FROM sys.sql_logins,
SELECT * FROM INFORMATION_SCHEMA.COLUMNS, SELECT * FROM pg_catalog.pg_authid).
String literals are stripped before this check runs, so a literal value like 'sys.x' is safe.
System catalog / metadata objects that must never be referenced from a user-supplied expression or ad-hoc query, in ANY context (including
full_query). These sit outside MemberJunction's entity-permission model, so allowing them turns a validated SELECT into a schema-enumeration and credential-exfiltration primitive (e.g.SELECT name, password_hash FROM sys.sql_logins,SELECT * FROM INFORMATION_SCHEMA.COLUMNS,SELECT * FROM pg_catalog.pg_authid). String literals are stripped before this check runs, so a literal value like'sys.x'is safe.