找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4585

积分

0

好友

597

主题
发表于 4 小时前 | 查看: 3| 回复: 0

导语:自托管Git平台 Gitea 近日披露一个CVSS评分9.8的严重漏洞。攻击者无需登录账号、无需对仓库写入任何内容,仅凭一个公共仓库和一段精心构造的Org-mode标记,即可读取Gitea服务账号可访问的任何文件。更危险的是,该漏洞可被进一步串联为远程代码执行。

来源:本文编译自 The Hacker News 报道《Critical Gitea Flaw Let Unauthenticated Attackers Read Server Files via Org-Mode Markup》。


一、漏洞概述

CVE-2026-59774 是 Gitea 平台近期披露的一个严重安全漏洞。该漏洞允许未经认证的远程攻击者通过公共仓库的标记渲染端点,读取 Gitea 服务账号有权访问的任何文件。根据 Gitea 官方公告,该漏洞可被进一步串联为命令执行,影响范围不容小觑。

关键时间节点:

  • 8月2日:Gitea 正式发布安全公告
  • 8月5日:The Hacker News 详细报道公开
  • 同期:XBOW Security 安全研究团队(自主化攻击性安全测试平台)与独立研究员沙伊·罗德(网络昵称 NightRang3r)分别独立发现该漏洞,由吉多·莱奥负责漏洞分类处理

二、影响范围与技术细节

受影响版本与修复版本

该漏洞影响 Gitea 1.22.1 至 1.27.0 版本,已在 1.27.1 版本中修复。Gitea 官方同时在 1.27.1 中修复了另一个远程代码执行漏洞 CVE-2026-60004。

攻击前置条件

攻击利用的并非一个完全无条件的接口。攻击者需要满足以下两个前提:

  1. 目标实例至少存在一个公共仓库(该仓库的代码单元已启用)
  2. 能够向 /{owner}/{repo}/markup 端点提交匿名 POST 请求

匿名请求只需通过公共仓库的读者权限校验,因此对于开放公共仓库的 Gitea 实例,这一攻击路径完全可行。但若实例不开放任何公共仓库,则无对应匿名攻击路径。

漏洞根源:Org-mode 渲染器的不安全默认配置

漏洞的关键在于 Gitea 1.27.0 中 go-org 库的初始化方式存在缺陷——org.New() 调用后未替换库默认的 ReadFile 回调函数。在 go-org 1.9.1 版本中,该回调使用的是 ioutil.ReadFile,这一系统调用直接接受任意绝对路径。

Org-mode 标记语言支持 #+INCLUDE 指令,可将外部文件内容嵌入到当前文档中。Gitea 在调用 Org-mode 渲染器处理用户提交的标记时,会触发该指令的回调函数,最终导致文件读取。

攻击者只需向标记端点提交精心构造的 Org-mode 标记内容,选择 Mode: file 渲染模式,即可读取服务账号有权限访问的任何文件。


三、从文件读取到远程代码执行:完整攻击链

虽然 CVE-2026-59774 本身是一个文件读取漏洞,但 Gitea 官方警告,该漏洞可被进一步利用以实现命令执行。完整攻击链如下:

  1. 利用 CVE-2026-59774 读取 app.ini 配置文件——该文件通常包含 Gitea 实例的关键配置信息
  2. 从 app.ini 中提取 INTERNAL_TOKEN——这是 Gitea 内部 API 调用的认证密钥
  3. 通过内部日志接口注入 Git 钩子——利用已窃取的 INTERNAL_TOKEN 调用内部接口植入恶意钩子
  4. 触发恶意钩子——攻击者执行匿名克隆操作,触发 Git 钩子的自动执行,从而获得远程代码执行能力

这一攻击链目前仅在 Gitea 官方公告中有描述,截至 8月5日,The Hacker News 尚未发现独立的公开利用代码。


四、攻击发现与背后故事

CVE-2026-59774 的发现体现了自动化安全研究的最新进展。

该漏洞由 XBOW 安全公司(一家开发自主化攻击性安全测试系统的安全研究公司)与独立研究员沙伊·罗德独立发现。XBOW 系统通过自动化测试框架发现了 Gitea Org-mode 渲染器的不安全回调配置,同一时间段,沙伊·罗德也通过人工测试发现并报告了同一问题。

值得一提的是,今年 Gitea 安全更新节奏密集:6月修复了 Docker 镜像中的反向代理认证绕过漏洞 CVE-2026-20896(披露后13天即被威胁行为者探测利用);5月修复了影响超过30个国家、约3万个部署实例的容器注册表访问控制漏洞 CVE-2026-27771。这一系列事件表明,自托管代码平台已成为攻击者的重点关注目标。


五、蓝队视角:检测与响应方案

根据 MITRE ATT&CK 框架,该漏洞利用可对应以下战术阶段:

  • 初始访问(TA0001):利用漏洞访问系统
  • 发现(TA0007):读取配置文件获取敏感信息
  • 凭据访问(TA0006):窃取 INTERNAL_TOKEN
  • 执行(TA0002):通过 Git 钩子触发命令执行

应急响应清单

优先级 操作项 说明
紧急 升级至 Gitea 1.27.1 修复主漏洞及 CVE-2026-60004
检查是否被利用 排查标记渲染端点是否有可疑请求
轮换内部令牌 假设已暴露,立即轮换 INTERNAL_TOKEN
轮换 OAuth 与 JWT 密钥 防止凭据已泄露后被利用
检查数据库凭据 在 app.ini 同目录可读取的凭据需轮换
审查 Git 钩子目录 检查是否存在非预期的可执行文件
启用审计日志 加强后续异常行为追踪能力

检测规则建议

Gitea 官方公告未发布正式检测指南。蓝队可重点关注以下检测信号:

  • 异常 Org-mode 渲染请求:监控 /{owner}/{repo}/markup 端点的匿名 POST 请求,特别是渲染模式为 Org-mode 或提交内容中包含绝对路径的请求
  • 异常文件路径访问:请求载荷中出现 /etc/passwd/proc/self/app.ini 等敏感路径关键字时触发告警
  • 内部接口调用异常:内部日志接口的调用来源与频率分析,识别是否来自异常 IP
  • 仓库钩子变更监控:Git 钩子目录的文件创建、修改事件应纳入重点监控

加固建议

对于无法立即升级的实例,可考虑以下临时缓解措施:

  • 在反向代理层面限制对 /{owner}/{repo}/markup 端点的匿名访问
  • 临时禁用 Org-mode 渲染支持,或将所有公共仓库设置为私有
  • 加强服务账号权限隔离,确保其只能访问必要的目录范围

六、总结

CVE-2026-59774 是一个典型的“小功能引入大风险”案例——Org-mode 文档渲染这一看似无害的功能,因底层库回调配置不当,成为整个系统暴露的入口。该漏洞的利用门槛极低(无需认证、无需权限),影响范围却极广(任意文件读取甚至 RCE)。

对于自托管 Gitea 的企业和组织,建议立即升级至 1.27.1 版本,并对升级前的相关日志进行审查,必要时主动轮换关键凭据。自托管开发平台的安全治理,应成为每个技术团队基础设施安全建设的重要一环。


参考资料

  • Critical Gitea Flaw Let Unauthenticated Attackers Read Server Files via Org-Mode Markup - The Hacker News,发表于 2026-08-05
  • Gitea Security Advisory GHSA-6v53-hr58-556r - Gitea 官方,2026-08-02

来源/编译:本文编译自 The Hacker News 原文,了解更多可访问原文。




上一篇:OpenAI正面回击苹果窃密诉讼,公开邮件与聊天记录推翻指控
下一篇:利用 Vipere 劫持 VS 安装服务实现 SYSTEM 权限无痕持久化:技术深度解析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-7 04:24 , Processed in 1.125849 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表