跳到主要内容

Gitea 1.26.3 与 1.26.4 已发布

· 阅读需 9 分钟
bircni
Technical Oversight Committee
本文由 AI 翻译,如有歧义请以 英文原文 为准。
1.26.3/1.26.4Release

我们激动地宣布 Gitea 1.26.3Gitea 1.26.4 正式发布。版本 1.26.3 带来了大量安全修复,同时包含重要的错误修复和稳定性改进。版本 1.26.4 紧随其后,修复了 1.26.3 中引入的仓库代码页回退问题,并附带一项额外的安全修复。

我们强烈建议您直接升级到 1.26.4。 如果已在使用 1.26.3,请尽快升级至 1.26.4。

1.26.4

此版本修复了 1.26.3 中出现的 “context deadline exceeded” 回归问题,该问题可能导致仓库代码页面无法加载(#38177)。WalkGitLog 现在能正确处理 EOF 和上下文错误(#38185)。感谢 @wxiaoguang 的修复。

此版本还修复了以下安全公告:

  • 在 OAuth2 登录回调中,不再自动重新激活已禁用的用户(#38183)。感谢 @chndlrx 报告此问题,感谢 @bircni 进行修复。

此版本包含里程碑中的 2 个已合并的合并请求

特别感谢 @wxiaoguang 提供的快速热修复。

1.26.3

本次发布解决了多项安全公告。其中几项将多个修复合并到了统一的合并请求中(#38151#38147)。

  • CVE-2026-20896:Docker 镜像内置了 REVERSE_PROXY_TRUSTED_PROXIES = * 默认值,允许任何来源 IP 通过 X-WEBAUTH-USER 头冒充任意用户。反向代理认证现已成为需管理员主动启用的选项(#38151)。感谢 Tenable / bughunters@tenable 的 Joshua Martinelle 和 @rz1027 报告此问题,以及 @bircni 提供修复。
  • CVE-2026-22874:收紧 webhook 和迁移所使用的默认允许列表过滤器,以堵塞一个不完整的 SSRF 防护,该漏洞可能访问内部地址(#38173, #38059)。感谢 @JLLeitschuh 报告此问题,以及 @TheFox0x7@bircni 提供修复。
  • CVE-2026-27775:对推送中的每个引用重新检查分支写入权限;原预接收钩子缓存了第一个引用的结果,导致基于分支的维护者编辑权限被提升为整个仓库的写入权限(#38151)。感谢 @adrian-doyensec 报告此问题,以及 @bircni 提供修复。
  • CVE-2026-24451:当基础仓库不再可读时,阻止派生同步(merge-upstream),使得派生仓库无法再拉取在其父仓库从公开转为私有后所做的提交(#38151)。感谢 @ybsun0215 报告此问题,以及 @bircni 提供修复。
  • CVE-2026-20779:在网页登录、密码重置及基本认证 X-Gitea-OTP 入口点上强制实施一次性 TOTP 验证码,堵住了一个 TOCTOU 竞态条件和一个无状态重放窗口(#38151)。感谢 @Kript0r3x 报告此问题,以及 @bircni 提供修复。
  • CVE-2026-28740:要求跨仓库 LFS 对象复用需具备代码单元访问权限,使得没有代码授权的凭证无法再读取私有源对象(#38050)。感谢 @m2hcz 报告此问题,以及 @bircni 提供修复。
  • 拒绝未知的 SSH LFS 子命令,以堵住一个允许未经授权读取私有仓库的认证绕过漏洞(#38015)。感谢 @Tomer-PL 报告此问题,以及 @bircni 提供修复。
  • 要求在派生合并请求被合并后才能绕过工作流审批门槛,修复了一个永久性的审批门禁绕过漏洞(#38041)。感谢 @prakhar0x01 报告此问题,以及 @bircni 提供修复。请参阅下面的破坏性变更说明。
  • CVE-2026-27761:对 RSS/Atom 订阅端点强制执行仓库令牌作用域,使得没有仓库作用域的个人访问令牌无法再读取私有仓库的提交数据(#38147)。感谢 @babakizo420 报告此问题,以及 @bircni 提供修复。
  • CVE-2026-25038:对组织标签读取端点强制执行组织可见性,使得私有组织的标签不再泄露给非成员(#38151)。感谢 @ybsun0215 报告此问题,以及 @bircni 提供修复。
  • 在仓库迁移克隆过程中阻止 HTTP 重定向,以防通过攻击者控制的重定向访问内部地址,从而实施 SSRF 攻击(#38147)。感谢 @moltenbit 报告此问题,以及 @bircni 提供修复。
  • 限制 CODEOWNERS 模式匹配时间,以防未认证的 ReDoS 拒绝服务攻击(#38025)。感谢 @AdamKorcz 报告此问题,以及 @bircni 提供修复。
  • 在仓库访问权限被撤销后,对通知主题进行脱敏处理,使得私有工单和合并请求的元数据不再通过通知 API 泄露(#38147)。感谢 @ybsun0215 报告此问题,以及 @bircni 提供修复。

本次发布还包含了额外的安全加固,将 Debian 控制文件的解析限制在单个节(stanza)内(#38055),并将 golang.org/x/net 更新至 v0.55.0(#37829)。

本次发布包含 31 个已合并的合并请求,感谢我们社区令人惊叹的贡献。

破坏性变更

此版本收紧了复刻仓库的合并请求审批门槛:来自复刻仓库的合并请求现在必须合并后,才能绕过审批门槛(#38041)。如您依赖此前的行为,请重新审查工作流中的审批设置。

如何安装或更新

Gitea 下载页面 下载我们的预编译二进制文件——确保选择与您平台兼容的版本。有关安装或升级的分步指南,请查看我们的 安装文档

特别感谢

我们还要感谢在 Open Collective 上所有支持我们的朋友,是你们在资金上帮助我们持续运营。


正在寻找无缝、无忧的 Git 仓库管理解决方案? 了解一下 Gitea Cloud —— 一个完全托管、可扩展的平台,旨在简化你的开发工作流。

以下 Changelog 保留英文原文,未作翻译,请与上游逐字核对。

Changelog

1.26.4 - 2026-06-21

  • SECURITY

    • Do not auto-reactivate disabled users on OAuth2 callback (#38183)
  • BUGFIXES

    • Fix WalkGitLog context error handling so repository code pages load correctly (#38185)

1.26.3 - 2026-06-20

  • BREAKING

    • Require merged PR to bypass fork PR approval gate (#38041)
  • SECURITY

    • Patch incorrect host matcher private list (#38173)
    • Various security fixes (#38151)
    • Various security fixes (#38147)
    • Allow git clone of private repos with anonymous code access (#38146)
    • Ignore stale OIDC external login links to organizations (#38141)
    • Block reserved IP ranges from external/private host matcher filters (#38059)
    • Require Code-unit access for cross-repo LFS object reuse (#38050)
    • Reject unknown SSH LFS sub-verbs to prevent auth bypass (#38015)
    • Bound CODEOWNERS regex match time (#38025)
    • Bound Debian ParseControlFile to a single control stanza (#38055)
    • Update module golang.org/x/net to v0.55.0 [security] (#37829)
  • API

    • Add Link header in ListForks (#38063)
  • BUGFIXES

    • Fix the panic when ssh remote LFS endpoint parsing fails (#38158)
    • Fix nil pointer panic when filtering tracked times by a non-existent user (#38115)
    • Keep literal "false" value displayed in workflow_dispatch choice dropdowns (#38096)
    • Parse HEAD ref (#38119)
    • Fix git cmd (#38087)
    • Generate release notes for initial tag (#37986)
    • Return 404 when job log blob is missing (#38004)
    • Exclude workflow_call from workflow trigger detection (#37899)
    • Keep action run title clickable when commit subject is a URL (#37898)
    • Reject workflow_dispatch for workflows without that trigger (#37895)
    • Ack re-sent UpdateLog finalize idempotently (#37892)
    • Fix http content file render (#37856)
    • Clear stale ReviewTypeRequest when submitting pending review (#37815)
    • Fix issue target branch selection for non-collaborators (#38164)
  • BUILD

    • Update @playwright/test to 1.60.0 (#38144)
    • Add tools/ci-tools.ts for the PR labeler workflow (#37831)
    • Fix swagger css import (#37803)