!2351 回合PG漏洞:CVE-2022-2625,创建extension中带有create or replace语句可能导致越权

Merge pull request !2351 from luajk/CVE-2022-2625
This commit is contained in:
opengauss-bot
2022-11-08 09:34:30 +00:00
committed by Gitee
10 changed files with 125 additions and 17 deletions

View File

@ -289,6 +289,8 @@ extern void recordMultipleDependencies(const ObjectAddress *depender,
extern void recordDependencyOnCurrentExtension(const ObjectAddress *object,
bool isReplace);
extern void checkMembershipInCurrentExtension(const ObjectAddress *object);
extern void recordPinnedDependency(const ObjectAddress *object);
extern bool IsPackageDependType(Oid typOid, Oid pkgOid, bool isRefCur = false);

View File

@ -41,6 +41,16 @@ typedef struct ObjectAddress
char deptype; /* Indicates the deptype that the object is referenced by other object. */
} ObjectAddress;
#define ObjectAddressSubSet(addr, class_id, object_id, object_sub_id) \
do { \
(addr).classId = (class_id); \
(addr).objectId = (object_id); \
(addr).objectSubId = (object_sub_id); \
} while (0)
#define ObjectAddressSet(addr, class_id, object_id) \
ObjectAddressSubSet(addr, class_id, object_id, 0)
extern ObjectAddress get_object_address(ObjectType objtype, List *objname,
List *objargs, Relation *relp,
LOCKMODE lockmode, bool missing_ok);