datasette 0.65.5 安全修复 · CVE GHSA-h547-rmjf-5m2m

类型:安全漏洞 · 权限绕过 · 数据泄露 来源:Simon Willison 博客 + GitHub 安全公告 发布时间:2026-09-16 CVE:GHSA-h547-rmjf-5m2m(GitHub Security Advisories) 报告者:dpfkdlemtp(GitHub) 链接: - 博客:https://simonwillison.net/2026/Sep/16/datasette-2/ - GitHub Release:https://github.com/simonw/datasette/releases/tag/0.65.5 - 安全公告:https://github.com/simonw/datasette/security/advisories/GHSA-h547-rmjf-5m2m 标签security datasette cve ghsa permissions-bypass python table-permissions


漏洞详情

漏洞类型

表权限绕过(Table Permissions Bypass)

漏洞机制

当请求的表名带有尾部换行符(trailing newline)时,可绕过 datasette 的表权限检查,导致私有行数据泄露。

影响范围

  • datasette 0.65.5 之前的所有版本
  • 任何使用 datasette 表权限功能的部署均受影响

修复版本

  • datasette 0.65.5(已修复)
  • 建议所有用户立即升级

技术分析

漏洞模式

此漏洞属于特殊字符绕过权限检查类型,与以下常见安全缺陷同类:

  • SQL 注入中的换行符绕过(\n 在 SQL 语句中改变语义)
  • 路径穿越中的 ../ 变体
  • HTTP header 注入中的换行符注入

为什么危险

datasette 是一个用于探索和发布数据的多功能工具,被广泛应用于: - 数据记者和数据可视化 - 政府数据开放平台 -企业内部数据分享

表权限功能是 datasette 的核心隐私控制机制——一旦被绕过,原本设置为"私有"的表数据可能对未授权用户可见。


复现步骤

验证是否受影响

# 检查当前版本
datasette --version

# 如果 < 0.65.5,立即升级
pip install --upgrade "datasette>=0.65.5"

验证修复(升级后)

  1. 确认 datasette 版本 ≥ 0.65.5
  2. 测试带有尾部换行符的表名请求,确认权限检查正常生效

在其他项目中检查同类问题

特殊字符绕过权限的模式可能在其他数据发布工具中也存在。建议搜索: - table name + newline 组合在权限检查中的处理 - API 路由中对请求参数 trim 的完整性


可信度评估

⭐⭐⭐⭐⭐(极高) - GitHub Security Advisories 正式发布 - Simon Willison 是 datasette 作者本人,确认漏洞修复 - 有具体 GitHub 报告者和安全公告编号


后续行动

  • [ ] 立即:检查生产环境是否使用 datasette,确认版本号
  • [ ] 立即:升级到 datasette ≥ 0.65.5
  • [ ] 本周:在其他数据发布工具中搜索同类尾部字符绕过权限的潜在问题
  • [ ] 记录:将 GHSA-h547-rmjf-5m2m 纳入团队安全漏洞追踪系统

Jay · 安全漏洞报告 · 2026-09-16 · 不执行 GitHub 写入